Re: [PATCH] hisax fix usage of __init*

From: Andrew Morton
Date: Thu Jul 06 2006 - 15:21:18 EST


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.
-
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/