From: Greg KH <greg@kroah.com>

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.



 drivers/pci/Makefile     |    5 +++--
 drivers/pci/hotplug.c    |   13 -------------
 drivers/pci/pci-driver.c |    8 ++++++++
 3 files changed, 11 insertions(+), 15 deletions(-)

diff -puN drivers/pci/hotplug.c~pci-1 drivers/pci/hotplug.c
--- 25/drivers/pci/hotplug.c~pci-1	2003-06-23 22:45:32.000000000 -0700
+++ 25-akpm/drivers/pci/hotplug.c	2003-06-23 22:45:32.000000000 -0700
@@ -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 @@ int pci_remove_device_safe(struct pci_de
 }
 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 @@ void pci_remove_behind_bridge(struct pci
 	}
 }
 
-#ifdef CONFIG_HOTPLUG
 EXPORT_SYMBOL(pci_remove_bus_device);
 EXPORT_SYMBOL(pci_remove_behind_bridge);
-#endif
diff -puN drivers/pci/Makefile~pci-1 drivers/pci/Makefile
--- 25/drivers/pci/Makefile~pci-1	2003-06-23 22:45:32.000000000 -0700
+++ 25-akpm/drivers/pci/Makefile	2003-06-23 22:45:32.000000000 -0700
@@ -3,8 +3,7 @@
 #
 
 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
 
@@ -12,6 +11,8 @@ 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 -puN drivers/pci/pci-driver.c~pci-1 drivers/pci/pci-driver.c
--- 25/drivers/pci/pci-driver.c~pci-1	2003-06-23 22:45:32.000000000 -0700
+++ 25-akpm/drivers/pci/pci-driver.c	2003-06-23 22:45:32.000000000 -0700
@@ -486,6 +486,14 @@ void pci_dev_put(struct pci_dev *dev)
 		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,

_