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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/