Re: [PATCH] hisax fix usage of __init*

From: Greg KH
Date: Thu Jul 06 2006 - 15:40:10 EST


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
:)

thanks,

greg k-h
-
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/