From: Greg KH <greg@kroah.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Arjan van de Ven <arjan@infradead.org>,
Karsten Keil <kkeil@suse.de>, Andrew Morton <akpm@osdl.org>,
Linus Torvalds <torvalds@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] hisax fix usage of __init*
Date: Thu, 6 Jul 2006 12:11:29 -0700 [thread overview]
Message-ID: <20060706191129.GA20255@kroah.com> (raw)
In-Reply-To: <s5h8xn8144m.wl%tiwai@suse.de>
On Wed, Jul 05, 2006 at 05:08:09PM +0200, Takashi Iwai wrote:
> At Wed, 05 Jul 2006 13:37:38 +0200,
> Arjan van de Ven wrote:
> >
> > On Wed, 2006-07-05 at 13:23 +0200, Karsten Keil wrote:
> > > diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c
> > > index 5333be5..e103503 100644
> > > --- a/drivers/isdn/hisax/config.c
> > > +++ b/drivers/isdn/hisax/config.c
> > > @@ -1875,7 +1875,7 @@ static void EChannel_proc_rcv(struct his
> > > #ifdef CONFIG_PCI
> > > #include <linux/pci.h>
> > >
> > > -static struct pci_device_id hisax_pci_tbl[] __initdata = {
> > > +static struct pci_device_id hisax_pci_tbl[] __devinitdata = {
> > > #ifdef CONFIG_HISAX_FRITZPCI
> > > {PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1,
> > > PCI_ANY_ID, PCI_ANY_ID},
> > > #endif
> > > diff --git a/drivers
> >
> > I think this bit is still buggy; afaik pci_device_id tables should not
> > be of any kind of __init at all... CC'ing Greg just to make sure I'm not
> > talking rubbish
>
> I've been also debugging this since Andrew pointed me about a similar
> bug (sound/pci/maestro3.c). I actually got section mismatch errors
> when pci id table is defined with __devinitdata tag together with
> CONFIG_HOTPLUG=n, either at compile time or at link time. So, my
> conclusion is that no tags should be used for pci id table.
>
> Interestingly, Documentation/pci.txt mentions that __devinitdata
> _should_ be used:
>
> > 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.)
thanks,
greg k-h
next prev parent reply other threads:[~2006-07-06 19:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-05 11:23 [PATCH] hisax fix usage of __init* Karsten Keil
2006-07-05 11:37 ` Arjan van de Ven
2006-07-05 15:08 ` Takashi Iwai
2006-07-06 19:11 ` Greg KH [this message]
2006-07-06 19:22 ` Andrew Morton
2006-07-06 19:38 ` Greg KH
2006-07-06 20:22 ` Randy.Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060706191129.GA20255@kroah.com \
--to=greg@kroah.com \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=kkeil@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tiwai@suse.de \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.