Re: [PATCH 02/11] atyfb_base compile fix for CONFIG_PCI=n

From: Andrew Morton
Date: Thu May 25 2006 - 00:29:54 EST


Greg KH <greg@xxxxxxxxx> wrote:
>
> On Wed, May 24, 2006 at 06:33:27PM -0700, Andrew Morton wrote:
> > zippel@xxxxxxxxxxxxxx wrote:
> > >
> > > The atyfb_driver structure is only available if CONFIG_PCI is set.
> > >
> > > Signed-off-by: Roman Zippel <zippel@xxxxxxxxxxxxxx>
> > >
> > > ---
> > >
> > > drivers/video/aty/atyfb_base.c | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > Index: linux-2.6-mm/drivers/video/aty/atyfb_base.c
> > > ===================================================================
> > > --- linux-2.6-mm.orig/drivers/video/aty/atyfb_base.c
> > > +++ linux-2.6-mm/drivers/video/aty/atyfb_base.c
> > > @@ -3861,7 +3861,9 @@ static int __init atyfb_init(void)
> > > atyfb_setup(option);
> > > #endif
> > >
> > > +#ifdef CONFIG_PCI
> > > pci_register_driver(&atyfb_driver);
> > > +#endif
> > > #ifdef CONFIG_ATARI
> > > atyfb_atari_probe();
> > > #endif
> > > @@ -3870,7 +3872,9 @@ static int __init atyfb_init(void)
> > >
> > > static void __exit atyfb_exit(void)
> > > {
> > > +#ifdef CONFIG_PCI
> > > pci_unregister_driver(&atyfb_driver);
> > > +#endif
> > > }
> >
> > bah. If pci_register_driver() was a macro we wouldn't need to do this all
> > over the place.
>
> Yes, this can be fixed easily in the pci.h header file, all other pci
> functions are stubbed out properly if CONFIG_PCI is not enabled. These
> should be too.
>

Well pci_register_driver() and pci_unregister_driver() do have stubs. But
they're static-inlines, hence they reference their argument, hence the
above ifdefs.

But if the pci_register_driver() and pci_unregister_driver() stubs were
macros which do not reference their argument, the above ifdefs aren't
needed.

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