Re: modpost: serial/8250_pci warnings

From: Russell King
Date: Sat Apr 15 2006 - 17:55:38 EST


On Sat, Apr 15, 2006 at 11:14:35PM +0200, Sam Ravnborg wrote:
> On Sat, Apr 15, 2006 at 01:23:43PM -0700, Randy.Dunlap wrote:
> >
> > drivers/serial/8250_pci.o has 23 section mismatch warnings.
> > They are all related to (come from) this struct:
> >
> > static struct pci_serial_quirk pci_serial_quirks[] = {
> >
> > so maybe either "quirk" can go into the whitelist, or
> > Russell can tell us if these are false positives or need to be
> > fixed.
> .init is referenced from pciserial_init_ports() which is NOT marked
> __devinit.
> And pciserial_init_ports() is exported - so it cannot be marked
> __devinit => it is a bug.

Out of the seven functions marked __devinit, only one is actually
buggy, since only Netmos make both serial as well as serial and
parallel cards.

A problem will only occur if parport_serial registers a Netmos port
and the netmos quirk is marked as __devinit. The other quirks
never match any parallel port devices, and so will never be called.

Splitting the quirk table into parport_serial doesn't resolve this
issue as far as static analysis goes either.

A better solution would be to fix the device model so that devices
can have more than one driver, so parport_serial doesn't have to
exist.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/