Messages in this thread | | | Date | Sat, 26 Jan 2008 18:18:36 +0800 | From | WANG Cong <> | Subject | Re: [Patch] Shut up warnings from files under drivers/ |
| |
On Sat, Jan 26, 2008 at 04:55:58AM -0500, Jeff Garzik wrote: >WANG Cong wrote: >>diff --git a/drivers/video/kyro/fbdev.c b/drivers/video/kyro/fbdev.c >>index acb9370..437ebd0 100644 >>--- a/drivers/video/kyro/fbdev.c >>+++ b/drivers/video/kyro/fbdev.c >>@@ -90,7 +90,9 @@ static int nomtrr __devinitdata = 0; >> >> /* PCI driver prototypes */ >> static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id >> *ent); >>+#if defined(MODULE) || defined(CONFIG_HOTPLUG) >> static void kyrofb_remove(struct pci_dev *pdev); >>+#endif >> >> static struct fb_videomode kyro_modedb[] __devinitdata = { >> { >>@@ -754,6 +756,7 @@ out_unmap: >> return -EINVAL; >> } >> >>+#if defined(MODULE) || defined(CONFIG_HOTPLUG) >> static void __devexit kyrofb_remove(struct pci_dev *pdev) >> { >> struct fb_info *info = pci_get_drvdata(pdev); >>@@ -783,6 +786,7 @@ static void __devexit kyrofb_remove(struct pci_dev >>*pdev) >> pci_set_drvdata(pdev, NULL); >> framebuffer_release(info); >> } >>+#endif > > >Quite strange -- due to __devexit_p() and the __devexit marker, ifdefs >should not be needed. > >I would look into why that isn't working as designed in these cases... >
For example, the defination of __devexit_p:
#if defined(MODULE) || defined(CONFIG_HOTPLUG) #define __devexit_p(x) x #else #define __devexit_p(x) NULL #endif
If !(defined(MODULE) || defined(CONFIG_HOTPLUG)), __devexit_p is just a NULL pointer, thus 'x' may be unused although defined.
| |