Re: [PATCH] 2.5.5-pre1 IDE cleanup 9

Keith Owens
2002-02-23T08:06:21Z

On Fri, 22 Feb 2002 15:16:22 +0100,
Martin Dalecki <dalecki@evision-ventures.com> wrote:
>... I would like to finish some other minor things there
>as well. I mean basically the macro games showing that somebody didn't
>understand C pointer semantics found at places like:
>
>#ifdef CONFIG_BLK_DEV_ALI15X3
>extern unsigned int pci_init_ali15x3(struct pci_dev *, const char *);
>...
>#define PCI_ALI15X3 &pci_init_ali15x3
>#else
>...
>#define PCI_ALI15X3 NULL
>#endif
>
>This should rather look like:
>
>#ifdef CONFIG_BLK_DEV_ALI15X3
>extern unsigned int pci_init_ali15x3(struct pci_dev *);
>#else
>#define pci_init_ali15x3 NULL
>#endif

That will probably break with CONFIG_MODVERSIONS. At the very least it
will require make mrproper when changing CONFIG_BLK_DEV_ALI15X3 and
CONFIG_MODVERSIONS is set to y.

Modversions does its own #define of nthe function name. Anybody
contemplating a mixture of real functions and #define of the function
name must test their patch with CONFIG_MODVERSIONS=y, otherwise you are
setting users up for wierd bug reports.