mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] modpost: relax driver data name
@ 2006-04-15 18:17 Randy.Dunlap
  2006-04-15 20:23 ` modpost: serial/8250_pci warnings Randy.Dunlap
  2006-04-16  8:55 ` [PATCH] modpost: relax driver data name Sam Ravnborg
  0 siblings, 2 replies; 5+ messages in thread
From: Randy.Dunlap @ 2006-04-15 18:17 UTC (permalink / raw)
  To: lkml; +Cc: akpm, sam

From: Randy Dunlap <rdunlap@xenotime.net>

modpost:  Relax driver data name from *_driver to *driver.
This fixes the 26 section mismatch warnings in drivers/ide/pci.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
---
 scripts/mod/modpost.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

--- linux-2617-rc1g8.orig/scripts/mod/modpost.c
+++ linux-2617-rc1g8/scripts/mod/modpost.c
@@ -487,14 +487,14 @@ static int strrcmp(const char *s, const 
  *   atsym   =__param*
  *
  * Pattern 2:
- *   Many drivers utilise a *_driver container with references to
+ *   Many drivers utilise a *driver container with references to
  *   add, remove, probe functions etc.
  *   These functions may often be marked __init and we do not want to
  *   warn here.
  *   the pattern is identified by:
  *   tosec   = .init.text | .exit.text | .init.data
  *   fromsec = .data
- *   atsym = *_driver, *_template, *_sht, *_ops, *_probe, *probe_one
+ *   atsym = *driver, *_template, *_sht, *_ops, *_probe, *probe_one
  **/
 static int secref_whitelist(const char *tosec, const char *fromsec,
 			    const char *atsym)
@@ -502,7 +502,7 @@ static int secref_whitelist(const char *
 	int f1 = 1, f2 = 1;
 	const char **s;
 	const char *pat2sym[] = {
-		"_driver",
+		"driver",
 		"_template", /* scsi uses *_template a lot */
 		"_sht",      /* scsi also used *_sht to some extent */
 		"_ops",


---

^ permalink raw reply	[flat|nested] 5+ messages in thread

* modpost: serial/8250_pci warnings
  2006-04-15 18:17 [PATCH] modpost: relax driver data name Randy.Dunlap
@ 2006-04-15 20:23 ` Randy.Dunlap
  2006-04-15 21:14   ` Sam Ravnborg
  2006-04-16  8:55 ` [PATCH] modpost: relax driver data name Sam Ravnborg
  1 sibling, 1 reply; 5+ messages in thread
From: Randy.Dunlap @ 2006-04-15 20:23 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel, akpm, sam, rmk+serial


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.

---
~Randy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: modpost: serial/8250_pci warnings
  2006-04-15 20:23 ` modpost: serial/8250_pci warnings Randy.Dunlap
@ 2006-04-15 21:14   ` Sam Ravnborg
  2006-04-15 21:53     ` Russell King
  0 siblings, 1 reply; 5+ messages in thread
From: Sam Ravnborg @ 2006-04-15 21:14 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel, akpm, rmk+serial

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.

	Sam

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: modpost: serial/8250_pci warnings
  2006-04-15 21:14   ` Sam Ravnborg
@ 2006-04-15 21:53     ` Russell King
  0 siblings, 0 replies; 5+ messages in thread
From: Russell King @ 2006-04-15 21:53 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Randy.Dunlap, linux-kernel, akpm

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] modpost: relax driver data name
  2006-04-15 18:17 [PATCH] modpost: relax driver data name Randy.Dunlap
  2006-04-15 20:23 ` modpost: serial/8250_pci warnings Randy.Dunlap
@ 2006-04-16  8:55 ` Sam Ravnborg
  1 sibling, 0 replies; 5+ messages in thread
From: Sam Ravnborg @ 2006-04-16  8:55 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: lkml, akpm

On Sat, Apr 15, 2006 at 11:17:12AM -0700, Randy.Dunlap wrote:
> From: Randy Dunlap <rdunlap@xenotime.net>
> 
> modpost:  Relax driver data name from *_driver to *driver.
> This fixes the 26 section mismatch warnings in drivers/ide/pci.

For an allmodconfig build with CONFIG_HOTPLUG=n this killed
118 warnings out of 245 warnings in total.
Applied.

To turn off CONFIG_HOTPLUG I simply changed the Kconfig files like
this:

diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index f0eff3d..1e25fc2 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -20,7 +20,6 @@ config PREVENT_FIRMWARE_BUILD
 
 config FW_LOADER
 	tristate "Userspace firmware loading support"
-	select HOTPLUG
 	---help---
 	  This option is provided for the case where no in-kernel-tree modules
 	  require userspace firmware loading support, but a module built outside

Then it became trivial to turn off CONFIG_HOTPLUG.

	Sam

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-04-16  8:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-15 18:17 [PATCH] modpost: relax driver data name Randy.Dunlap
2006-04-15 20:23 ` modpost: serial/8250_pci warnings Randy.Dunlap
2006-04-15 21:14   ` Sam Ravnborg
2006-04-15 21:53     ` Russell King
2006-04-16  8:55 ` [PATCH] modpost: relax driver data name Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®