Nah, the following patch from Ivan Kokshaysky is the better way to do
this. I'll send it off to Linus on Monday.
thanks,
greg k-h
# [PATCH] PCI: fix non-hotplug build
Current BK won't build when CONFIG_HOTPLUG is not set due to
undefined references to pci_destroy_dev in hotplug.c.
I think it makes sense to not compile hotplug.c in this case at all.
Also, this allows to get rid of several function which are unused
in non-hotplug kernel.
Tested on Alpha.
diff -Nru a/drivers/pci/Makefile b/drivers/pci/Makefile
--- a/drivers/pci/Makefile Sun Jun 22 19:48:43 2003
+++ b/drivers/pci/Makefile Sun Jun 22 19:48:43 2003
@@ -3,14 +3,15 @@
#
obj-y += access.o bus.o probe.o pci.o pool.o quirks.o \
- names.o pci-driver.o search.o hotplug.o \
- pci-sysfs.o
+ names.o pci-driver.o search.o pci-sysfs.o
obj-$(CONFIG_PM) += power.o
obj-$(CONFIG_PROC_FS) += proc.o
ifndef CONFIG_SPARC64
obj-$(CONFIG_PCI) += setup-res.o
endif
+
+obj-$(CONFIG_HOTPLUG) += hotplug.o
# Build the PCI Hotplug drivers if we were asked to
obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
diff -Nru a/drivers/pci/hotplug.c b/drivers/pci/hotplug.c
--- a/drivers/pci/hotplug.c Sun Jun 22 19:48:43 2003
+++ b/drivers/pci/hotplug.c Sun Jun 22 19:48:43 2003
@@ -12,7 +12,6 @@
static void pci_free_resources(struct pci_dev *dev);
-#ifdef CONFIG_HOTPLUG
int pci_hotplug (struct device *dev, char **envp, int num_envp,
char *buffer, int buffer_size)
{
@@ -209,16 +208,6 @@
}
EXPORT_SYMBOL(pci_remove_device_safe);
-#else /* CONFIG_HOTPLUG */
-
-int pci_hotplug (struct device *dev, char **envp, int num_envp,
- char *buffer, int buffer_size)
-{
- return -ENODEV;
-}
-
-#endif /* CONFIG_HOTPLUG */
-
static void
pci_free_resources(struct pci_dev *dev)
{
@@ -283,7 +272,5 @@
}
}
-#ifdef CONFIG_HOTPLUG
EXPORT_SYMBOL(pci_remove_bus_device);
EXPORT_SYMBOL(pci_remove_behind_bridge);
-#endif
diff -Nru a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
--- a/drivers/pci/pci-driver.c Sun Jun 22 19:48:43 2003
+++ b/drivers/pci/pci-driver.c Sun Jun 22 19:48:43 2003
@@ -486,6 +486,14 @@
put_device(&dev->dev);
}
+#ifndef CONFIG_HOTPLUG
+int pci_hotplug (struct device *dev, char **envp, int num_envp,
+ char *buffer, int buffer_size)
+{
+ return -ENODEV;
+}
+#endif
+
struct bus_type pci_bus_type = {
.name = "pci",
.match = pci_bus_match,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/