linux-sg2042/drivers/pci/hotplug
Alex Chiang 828f37683e PCI: update pci_create_slot() to take a 'hotplug' param
Slot detection drivers can co-exist with hotplug drivers. The names
of the detected/claimed slots may be different depending on module
load order.

For legacy reasons, we need to allow hotplug drivers to override
the slot name if a detection driver is loaded first (and they find
the same slots).

Creating and overriding slot names should be an atomic operation,
otherwise you get a locking nightmare as various drivers race to
call pci_create_slot().

pci_create_slot() is already serialized by grabbing the pci_bus_sem.

We update the API and add a 'hotplug' param, which is:

	set if the caller is a hotplug driver
	NULL if the caller is a detection driver

pci_create_slot() does not actually use the 'hotplug' parameter in this
patch. A later patch will add the logic that uses it.

Cc: kristen.c.accardi@intel.com
Cc: matthew@wil.cx
Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2008-10-22 16:42:38 -07:00
..
Kconfig PCI Hotplug: the ibm driver is not dependant on PCI_LEGACY 2008-04-20 21:46:57 -07:00
Makefile PCI: hotplug: Link fakephp last 2008-02-01 15:04:20 -08:00
acpi_pcihp.c PCI: add acpi_find_root_bridge_handle 2008-08-18 13:48:04 -07:00
acpiphp.h driver core: remove KOBJ_NAME_LEN define 2008-07-21 21:54:52 -07:00
acpiphp_core.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
acpiphp_glue.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-16 17:25:46 -07:00
acpiphp_ibm.c PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
cpci_hotplug.h [PATCH] PCI Hotplug: CPCI update 2005-05-17 14:31:11 -07:00
cpci_hotplug_core.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
cpci_hotplug_pci.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpcihp_generic.c PCI Hotplug: make cpcihp driver use modern apis 2008-04-20 21:46:56 -07:00
cpcihp_zt5550.c PCI: ZT5550 CPCI Hotplug driver fix 2007-05-02 19:02:40 -07:00
cpcihp_zt5550.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqphp.h PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpqphp_core.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
cpqphp_ctrl.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpqphp_nvram.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpqphp_nvram.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqphp_pci.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpqphp_sysfs.c [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
fakephp.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
ibmphp.h PCI Hotplug: move pci_hotplug.h to include/linux/ 2006-10-18 11:36:12 -07:00
ibmphp_core.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
ibmphp_ebda.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
ibmphp_hpc.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
ibmphp_pci.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
ibmphp_res.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
pci_hotplug_core.c PCI: update pci_create_slot() to take a 'hotplug' param 2008-10-22 16:42:38 -07:00
pciehp.h PCI: pciehp: replace printk with dev_printk 2008-10-20 10:53:49 -07:00
pciehp_core.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
pciehp_ctrl.c PCI: pciehp: replace printk with dev_printk 2008-10-20 10:53:49 -07:00
pciehp_hpc.c PCI: pciehp: replace printk with dev_printk 2008-10-20 10:53:49 -07:00
pciehp_pci.c PCI: pciehp: replace printk with dev_printk 2008-10-20 10:53:49 -07:00
pcihp_skeleton.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
rpadlpar.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rpadlpar_core.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
rpadlpar_sysfs.c PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
rpaphp.h PCI hotplug: rpaphp: make debug var unique 2008-10-20 10:54:27 -07:00
rpaphp_core.c PCI hotplug: rpaphp: make debug var unique 2008-10-20 10:54:27 -07:00
rpaphp_pci.c PCI hotplug: rpaphp: make debug var unique 2008-10-20 10:54:27 -07:00
rpaphp_slot.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
sgi_hotplug.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
shpchp.h shpchp: check firmware before taking control 2008-06-10 10:59:53 -07:00
shpchp_core.c PCI Hotplug core: add 'name' param pci_hp_register interface 2008-10-22 16:42:37 -07:00
shpchp_ctrl.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
shpchp_hpc.c shpchp: check firmware before taking control 2008-06-10 10:59:53 -07:00
shpchp_pci.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
shpchp_sysfs.c SHPCHP: fix __must_check warnings 2006-09-26 17:43:53 -07:00