Re: [PATCH] hisax fix usage of __init*
From: Randy.Dunlap
Date: Thu Jul 06 2006 - 16:17:45 EST
On Thu, 6 Jul 2006 12:38:04 -0700 Greg KH wrote:
> On Thu, Jul 06, 2006 at 12:22:50PM -0700, Andrew Morton wrote:
> > On Thu, 6 Jul 2006 12:11:29 -0700
> > Greg KH <greg@xxxxxxxxx> wrote:
> >
> > > > > Tips:
> > > > > The module_init()/module_exit() functions (and all initialization
> > > > > functions called only from these) should be marked __init/exit.
> > > > > The struct pci_driver shouldn't be marked with any of these tags.
> > > > > The ID table array should be marked __devinitdata.
> > >
> > > Yes, and that is correct. They should never be marked __initdata, as
> > > that is wrong for when CONFIG_HOTPLUG is enabled and the module is built
> > > in.
> > >
> > > So either use __devinitdata, or nothing (as it's only a memory savings
> > > if CONFIG_HOTPLUG is not enabled, which is real tough these days, and
> > > the driver is built into the system.)
> >
> > I think the problem is that pci_driver has a pointer to the id_table. So
> > we have a ref to __devinitdata from .text.
> >
> > That's runtimely-correct, but the new section checker could get offended.
>
> Yes, it probably could get hard to check for it, but the code is correct
> :)
I think that there are already some exceptions in the modpost
checking, so adding another won't be a big deal.
---
~Randy
-
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/