From: Bartlomiej Zolnierkiewicz Date: Fri, 26 Oct 2007 18:31:15 +0000 (+0200) Subject: drivers/ide/pci/generic: fix build for CONFIG_HOTPLUG=n X-Git-Tag: v2.6.24-rc2~118^2~2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5271be6b5601b3749cccd8ee89941d5868b90bf;p=linux-2.6 drivers/ide/pci/generic: fix build for CONFIG_HOTPLUG=n It turns out that const and __{dev}initdata cannot be mixed currently and that generic IDE PCI host driver is also affected by the same issue: On Thursday 25 October 2007, Ralf Baechle wrote: > CC drivers/ide/pci/generic.o > drivers/ide/pci/generic.c:52: error: __setup_str_ide_generic_all_on causes a > +section type conflict [ Also reported by Martijn Uffing . ] This patch workarounds the problem in a bit hackish way but without removing const from generic_chipsets[] (it adds const to __setup() so __setup_str_ide_generic_all becomes const). Now all __{dev}initdata data in generic IDE PCI host driver are read-only so it builds again (driver's .init.data section gets marked as READONLY). Cc: Martijn Uffing Cc: Ralf Baechle Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz --- diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index f44d70852c..06885697ed 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c @@ -49,7 +49,7 @@ static int __init ide_generic_all_on(char *unused) printk(KERN_INFO "IDE generic will claim all unknown PCI IDE storage controllers.\n"); return 1; } -__setup("all-generic-ide", ide_generic_all_on); +const __setup("all-generic-ide", ide_generic_all_on); #endif module_param_named(all_generic_ide, ide_generic_all, bool, 0444); MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers.");