Commit a515c2d5 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

PCI hotplug: moved cpci_hotplug.o to be built into pci_hotplug.o if enabled.

parent cb78adbc
...@@ -8,13 +8,17 @@ obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o ...@@ -8,13 +8,17 @@ obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o
obj-$(CONFIG_HOTPLUG_PCI_COMPAQ) += cpqphp.o obj-$(CONFIG_HOTPLUG_PCI_COMPAQ) += cpqphp.o
obj-$(CONFIG_HOTPLUG_PCI_IBM) += ibmphp.o obj-$(CONFIG_HOTPLUG_PCI_IBM) += ibmphp.o
obj-$(CONFIG_HOTPLUG_PCI_ACPI) += acpiphp.o obj-$(CONFIG_HOTPLUG_PCI_ACPI) += acpiphp.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI) += cpci_hotplug.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI_ZT5550) += cpcihp_zt5550.o obj-$(CONFIG_HOTPLUG_PCI_CPCI_ZT5550) += cpcihp_zt5550.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI_GENERIC) += cpcihp_generic.o obj-$(CONFIG_HOTPLUG_PCI_CPCI_GENERIC) += cpcihp_generic.o
pci_hotplug-objs := pci_hotplug_core.o \ pci_hotplug-objs := pci_hotplug_core.o \
pci_hotplug_util.o pci_hotplug_util.o
ifdef CONFIG_HOTPLUG_PCI_CPCI
pci_hotplug-objs += cpci_hotplug_core.o \
cpci_hotplug_pci.o
endif
cpqphp-objs := cpqphp_core.o \ cpqphp-objs := cpqphp_core.o \
cpqphp_ctrl.o \ cpqphp_ctrl.o \
cpqphp_proc.o \ cpqphp_proc.o \
...@@ -31,9 +35,6 @@ acpiphp-objs := acpiphp_core.o \ ...@@ -31,9 +35,6 @@ acpiphp-objs := acpiphp_core.o \
acpiphp_pci.o \ acpiphp_pci.o \
acpiphp_res.o acpiphp_res.o
cpci_hotplug-objs := cpci_hotplug_core.o \
cpci_hotplug_pci.o
ifdef CONFIG_HOTPLUG_PCI_ACPI ifdef CONFIG_HOTPLUG_PCI_ACPI
EXTRA_CFLAGS += -D_LINUX -I$(TOPDIR)/drivers/acpi EXTRA_CFLAGS += -D_LINUX -I$(TOPDIR)/drivers/acpi
ifdef CONFIG_ACPI_DEBUG ifdef CONFIG_ACPI_DEBUG
......
...@@ -891,16 +891,17 @@ cleanup_slots(void) ...@@ -891,16 +891,17 @@ cleanup_slots(void)
return; return;
} }
static int __init int __init
cpci_hotplug_init(void) cpci_hotplug_init(int debug)
{ {
spin_lock_init(&list_lock); spin_lock_init(&list_lock);
cpci_debug = debug;
info(DRIVER_DESC " version: " DRIVER_VERSION); info(DRIVER_DESC " version: " DRIVER_VERSION);
return 0; return 0;
} }
static void __exit void __exit
cpci_hotplug_exit(void) cpci_hotplug_exit(void)
{ {
/* /*
...@@ -909,14 +910,6 @@ cpci_hotplug_exit(void) ...@@ -909,14 +910,6 @@ cpci_hotplug_exit(void)
cleanup_slots(); cleanup_slots();
} }
module_init(cpci_hotplug_init);
module_exit(cpci_hotplug_exit);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
MODULE_PARM(cpci_debug, "i");
MODULE_PARM_DESC(cpci_debug, "Debugging mode");
EXPORT_SYMBOL_GPL(cpci_hp_register_controller); EXPORT_SYMBOL_GPL(cpci_hp_register_controller);
EXPORT_SYMBOL_GPL(cpci_hp_unregister_controller); EXPORT_SYMBOL_GPL(cpci_hp_unregister_controller);
......
...@@ -60,8 +60,8 @@ ...@@ -60,8 +60,8 @@
/* local variables */ /* local variables */
static int debug; static int debug;
#define DRIVER_VERSION "0.4" #define DRIVER_VERSION "0.5"
#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>" #define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Scott Murray <scottm@somanetworks.com>"
#define DRIVER_DESC "PCI Hot Plug PCI Core" #define DRIVER_DESC "PCI Hot Plug PCI Core"
...@@ -89,7 +89,7 @@ static int pcihpfs_mount_count; /* times we have mounted our fs */ ...@@ -89,7 +89,7 @@ static int pcihpfs_mount_count; /* times we have mounted our fs */
static spinlock_t mount_lock; /* protects our mount_count */ static spinlock_t mount_lock; /* protects our mount_count */
static spinlock_t list_lock; static spinlock_t list_lock;
LIST_HEAD(pci_hotplug_slot_list); static LIST_HEAD(pci_hotplug_slot_list);
/* these strings match up with the values in pci_bus_speed */ /* these strings match up with the values in pci_bus_speed */
static char *pci_bus_speed_strings[] = { static char *pci_bus_speed_strings[] = {
...@@ -121,6 +121,14 @@ static struct proc_dir_entry *slotdir = NULL; ...@@ -121,6 +121,14 @@ static struct proc_dir_entry *slotdir = NULL;
static const char *slotdir_name = "slots"; static const char *slotdir_name = "slots";
#endif #endif
#ifdef CONFIG_HOTPLUG_PCI_CPCI
extern int cpci_hotplug_init(int debug);
extern void cpci_hotplug_exit(void);
#else
static inline int cpci_hotplug_init(int debug) { return 0; }
static inline void cpci_hotplug_exit(void) { }
#endif
static struct inode *pcihpfs_get_inode (struct super_block *sb, int mode, dev_t dev) static struct inode *pcihpfs_get_inode (struct super_block *sb, int mode, dev_t dev)
{ {
struct inode *inode = new_inode(sb); struct inode *inode = new_inode(sb);
...@@ -1273,19 +1281,30 @@ static int __init pci_hotplug_init (void) ...@@ -1273,19 +1281,30 @@ static int __init pci_hotplug_init (void)
goto exit; goto exit;
} }
result = cpci_hotplug_init(debug);
if (result) {
err ("cpci_hotplug_init with error %d\n", result);
goto error_fs;
}
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
/* create mount point for pcihpfs */ /* create mount point for pcihpfs */
slotdir = proc_mkdir(slotdir_name, proc_bus_pci_dir); slotdir = proc_mkdir(slotdir_name, proc_bus_pci_dir);
#endif #endif
info (DRIVER_DESC " version: " DRIVER_VERSION "\n"); info (DRIVER_DESC " version: " DRIVER_VERSION "\n");
goto exit;
error_fs:
unregister_filesystem(&pcihpfs_type);
exit: exit:
return result; return result;
} }
static void __exit pci_hotplug_exit (void) static void __exit pci_hotplug_exit (void)
{ {
cpci_hotplug_exit();
unregister_filesystem(&pcihpfs_type); unregister_filesystem(&pcihpfs_type);
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment