diff options
| author | Greg Kroah-Hartman <greg@kroah.com> | 2002-12-01 07:09:28 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <greg@kroah.com> | 2002-12-01 07:09:28 -0800 |
| commit | 9c076a26ed265ef65cbf14ddb21e1ad55844fd03 (patch) | |
| tree | 79cfabc9364169493913b34f595633a4b7272487 | |
| parent | 114d2a8e848612ae717ab70d2834f35c812f13d1 (diff) | |
| parent | 412f39a58350dc99e05bd283b5c88cd378ad444b (diff) | |
Merge kroah.com:/home/linux/linux/BK/bleeding-2.5
into kroah.com:/home/linux/linux/BK/pci_hp-2.5
| -rw-r--r-- | drivers/hotplug/Makefile | 9 | ||||
| -rw-r--r-- | drivers/hotplug/cpci_hotplug_core.c | 15 | ||||
| -rw-r--r-- | drivers/hotplug/cpci_hotplug_pci.c | 8 | ||||
| -rw-r--r-- | drivers/hotplug/ibmphp_ebda.c | 16 | ||||
| -rw-r--r-- | drivers/hotplug/pci_hotplug_core.c | 43 | ||||
| -rw-r--r-- | include/linux/pci.h | 9 |
6 files changed, 56 insertions, 44 deletions
diff --git a/drivers/hotplug/Makefile b/drivers/hotplug/Makefile index 76edd29cfd10..817fedc35ef5 100644 --- a/drivers/hotplug/Makefile +++ b/drivers/hotplug/Makefile @@ -8,13 +8,17 @@ obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o obj-$(CONFIG_HOTPLUG_PCI_COMPAQ) += cpqphp.o obj-$(CONFIG_HOTPLUG_PCI_IBM) += ibmphp.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_GENERIC) += cpcihp_generic.o pci_hotplug-objs := pci_hotplug_core.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_ctrl.o \ cpqphp_proc.o \ @@ -31,9 +35,6 @@ acpiphp-objs := acpiphp_core.o \ acpiphp_pci.o \ acpiphp_res.o -cpci_hotplug-objs := cpci_hotplug_core.o \ - cpci_hotplug_pci.o - ifdef CONFIG_HOTPLUG_PCI_ACPI EXTRA_CFLAGS += -D_LINUX -I$(TOPDIR)/drivers/acpi ifdef CONFIG_ACPI_DEBUG diff --git a/drivers/hotplug/cpci_hotplug_core.c b/drivers/hotplug/cpci_hotplug_core.c index b2cb53f01bac..3f5b3eac7a2e 100644 --- a/drivers/hotplug/cpci_hotplug_core.c +++ b/drivers/hotplug/cpci_hotplug_core.c @@ -891,16 +891,17 @@ cleanup_slots(void) return; } -static int __init -cpci_hotplug_init(void) +int __init +cpci_hotplug_init(int debug) { spin_lock_init(&list_lock); + cpci_debug = debug; info(DRIVER_DESC " version: " DRIVER_VERSION); return 0; } -static void __exit +void __exit cpci_hotplug_exit(void) { /* @@ -909,14 +910,6 @@ cpci_hotplug_exit(void) 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_unregister_controller); diff --git a/drivers/hotplug/cpci_hotplug_pci.c b/drivers/hotplug/cpci_hotplug_pci.c index 7a06eca3a807..a82a3175b7c1 100644 --- a/drivers/hotplug/cpci_hotplug_pci.c +++ b/drivers/hotplug/cpci_hotplug_pci.c @@ -572,16 +572,16 @@ static int unconfigure_visit_pci_bus_phase2(struct pci_bus_wrapped *wrapped_bus, } static struct pci_visit configure_functions = { - visit_pci_dev:configure_visit_pci_dev, + .visit_pci_dev = configure_visit_pci_dev, }; static struct pci_visit unconfigure_functions_phase1 = { - post_visit_pci_dev:unconfigure_visit_pci_dev_phase1 + .post_visit_pci_dev = unconfigure_visit_pci_dev_phase1 }; static struct pci_visit unconfigure_functions_phase2 = { - post_visit_pci_bus:unconfigure_visit_pci_bus_phase2, - post_visit_pci_dev:unconfigure_visit_pci_dev_phase2 + .post_visit_pci_bus = unconfigure_visit_pci_bus_phase2, + .post_visit_pci_dev = unconfigure_visit_pci_dev_phase2 }; diff --git a/drivers/hotplug/ibmphp_ebda.c b/drivers/hotplug/ibmphp_ebda.c index 86a88433da5f..0e36421e3e0b 100644 --- a/drivers/hotplug/ibmphp_ebda.c +++ b/drivers/hotplug/ibmphp_ebda.c @@ -1240,11 +1240,11 @@ void ibmphp_free_ebda_pci_rsrc_queue (void) static struct pci_device_id id_table[] __devinitdata = { { - vendor: PCI_VENDOR_ID_IBM, - device: HPC_DEVICE_ID, - subvendor: PCI_VENDOR_ID_IBM, - subdevice: HPC_SUBSYSTEM_ID, - class: ((PCI_CLASS_SYSTEM_PCI_HOTPLUG << 8) | 0x00), + .vendor = PCI_VENDOR_ID_IBM, + .device = HPC_DEVICE_ID, + .subvendor = PCI_VENDOR_ID_IBM, + .subdevice = HPC_SUBSYSTEM_ID, + .class = ((PCI_CLASS_SYSTEM_PCI_HOTPLUG << 8) | 0x00), }, {} }; @@ -1252,9 +1252,9 @@ MODULE_DEVICE_TABLE(pci, id_table); static int ibmphp_probe (struct pci_dev *, const struct pci_device_id *); static struct pci_driver ibmphp_driver = { - name: "ibmphp", - id_table: id_table, - probe: ibmphp_probe, + .name = "ibmphp", + .id_table = id_table, + .probe = ibmphp_probe, }; int ibmphp_register_pci (void) diff --git a/drivers/hotplug/pci_hotplug_core.c b/drivers/hotplug/pci_hotplug_core.c index b6ab87135c30..b03104c8edd1 100644 --- a/drivers/hotplug/pci_hotplug_core.c +++ b/drivers/hotplug/pci_hotplug_core.c @@ -60,8 +60,8 @@ /* local variables */ static int debug; -#define DRIVER_VERSION "0.4" -#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>" +#define DRIVER_VERSION "0.5" +#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Scott Murray <scottm@somanetworks.com>" #define DRIVER_DESC "PCI Hot Plug PCI Core" @@ -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 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 */ static char *pci_bus_speed_strings[] = { @@ -121,6 +121,14 @@ static struct proc_dir_entry *slotdir = NULL; static const char *slotdir_name = "slots"; #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) { struct inode *inode = new_inode(sb); @@ -311,19 +319,19 @@ static struct file_operations presence_file_operations = { /* file ops for the "max bus speed" files */ static ssize_t max_bus_speed_read_file (struct file *file, char *buf, size_t count, loff_t *offset); static struct file_operations max_bus_speed_file_operations = { - read: max_bus_speed_read_file, - write: default_write_file, - open: default_open, - llseek: default_file_lseek, + .read = max_bus_speed_read_file, + .write = default_write_file, + .open = default_open, + .llseek = default_file_lseek, }; /* file ops for the "current bus speed" files */ static ssize_t cur_bus_speed_read_file (struct file *file, char *buf, size_t count, loff_t *offset); static struct file_operations cur_bus_speed_file_operations = { - read: cur_bus_speed_read_file, - write: default_write_file, - open: default_open, - llseek: default_file_lseek, + .read = cur_bus_speed_read_file, + .write = default_write_file, + .open = default_open, + .llseek = default_file_lseek, }; /* file ops for the "test" files */ @@ -1273,19 +1281,30 @@ static int __init pci_hotplug_init (void) 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 /* create mount point for pcihpfs */ slotdir = proc_mkdir(slotdir_name, proc_bus_pci_dir); #endif info (DRIVER_DESC " version: " DRIVER_VERSION "\n"); - + goto exit; + +error_fs: + unregister_filesystem(&pcihpfs_type); exit: return result; } static void __exit pci_hotplug_exit (void) { + cpci_hotplug_exit(); + unregister_filesystem(&pcihpfs_type); #ifdef CONFIG_PROC_FS diff --git a/include/linux/pci.h b/include/linux/pci.h index eede29dc50ad..557b17d959c1 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -383,7 +383,6 @@ struct pci_dev { u8 rom_base_reg; /* which config register controls the ROM */ struct pci_driver *driver; /* which driver has allocated this device */ - void *driver_data; /* data private to the driver */ u64 dma_mask; /* Mask of the bits of bus address this device implements. Normally this is 0xffffffff. You only need to change @@ -787,17 +786,17 @@ static inline int pci_module_init(struct pci_driver *drv) pci_resource_start((dev),(bar)) + 1)) /* Similar to the helpers above, these manipulate per-pci_dev - * driver-specific data. Currently stored as pci_dev::driver_data, - * a void pointer, but it is not present on older kernels. + * driver-specific data. They are really just a wrapper around + * the generic device structure functions of these calls. */ static inline void *pci_get_drvdata (struct pci_dev *pdev) { - return pdev->driver_data; + return dev_get_drvdata(&pdev->dev); } static inline void pci_set_drvdata (struct pci_dev *pdev, void *data) { - pdev->driver_data = data; + dev_set_drvdata(&pdev->dev, data); } /* |
