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

From: Roman Zippel
Date: Tue May 30 2006 - 08:21:41 EST


Hi,

On Wed, 24 May 2006, Greg KH wrote:

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

I'm not a big fan of such dummy macros, as these macros should properly
look like:

#define pci_register_driver(x) ({ (void)(x); 0; })

otherwise you risk warnings about defined but unused variables.

The other alternative is to remove the #ifdef around atyfb_driver, recent
gcc (>= 4.0) can remove the unused structure.

bye, Roman
-
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/