On 2014/8/26 1:33, Paul Gortmaker wrote: > commit 7400ce7ee9595432b2a1402b6ffcac9faf38d9ae (v3.4.92-76-g7400ce7ee959) > was a backport of commit ebebd49a8eab5e9aa1b1f8f1614ccc3c2120f886 upstream > ("8250/16?50: Add support for Broadcom TruManage redirected serial port") > > However, in the context of 3.4.x kernels, the pci setup code was > expecting a struct uart_port and not a struct uart_8250_port, leading to > the following concerning warnings: > > drivers/tty/serial/8250/8250_pci.c: In function ‘pci_brcm_trumanage_setup’: > drivers/tty/serial/8250/8250_pci.c:1086:2: warning: passing argument 3 of ‘pci_default_setup’ from incompatible pointer type [enabled by default] > int ret = pci_default_setup(priv, board, port, idx); > ^ > drivers/tty/serial/8250/8250_pci.c:1036:1: note: expected ‘struct uart_port *’ but argument is of type ‘struct uart_8250_port *’ > pci_default_setup(struct serial_private *priv, > ^ > drivers/tty/serial/8250/8250_pci.c: At top level: > drivers/tty/serial/8250/8250_pci.c:1746:3: warning: initialization from incompatible pointer type [enabled by default] > .setup = pci_brcm_trumanage_setup, > ^ > drivers/tty/serial/8250/8250_pci.c:1746:3: warning: (near initialization for ‘pci_serial_quirks[56].setup’) [enabled by default] > > I'd also expect the initialization to not function correctly, and > perhaps dereference random garbage due to this. Since the uart_port > is a field within the uart_8250_port, the adaptation to fix these > warnings is a straightforward removal of a layer of indirection. > > Cc: Stephen Hurd <shurd@xxxxxxxxxxxx> > Cc: Michael Chan <mchan@xxxxxxxxxxxx> > Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > Cc: Rui Xiang <rui.xiang@xxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Applied to 3.4. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html