linux/drivers/pci
Alex Chiang 167e782e30 PCI: pciehp: Rename duplicate slot name N as N-1, N-2, N-M...
Commit 3800345f72 (pciehp: fix slot name)
introduces the pciehp_slot_with_bus module parameter, which was intended
to help work around broken firmware that assigns the same name to multiple
slots.

Commit 9e4f2e8d4d (pciehp: add message about
pciehp_slot_with_bus option) tells the user to use the above parameter
in the event of a name collision.

This approach is sub-optimal because it requires too much work from
the user.

Instead, let's rename the slot on behalf of the user. If firmware
assigns the name N to multiple slots, then:

	The first registered slot is assigned N
	The second registered slot is assigned N-1
	The third registered slot is assigned N-2
	The Mth registered slot becomes N-M

In the event we overflow the slot->name parameter, we report an
error to the user.

This is a temporary fix until the entire PCI core can be reworked
such that individual drivers no longer have to manage their own
slot names.

Tested-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
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-08-21 15:15:10 -07:00
..
hotplug PCI: pciehp: Rename duplicate slot name N as N-1, N-2, N-M... 2008-08-21 15:15:10 -07:00
pcie PCI: add acpi_find_root_bridge_handle 2008-08-18 13:48:04 -07:00
.gitignore
access.c PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev. 2008-07-02 11:25:54 -07:00
bus.c PCI: remove global list of PCI devices 2008-04-20 21:47:02 -07:00
dmar.c PCI/DMAR: don't assume presence of RMRRs 2008-07-22 14:14:18 -07:00
hotplug-pci.c PCI: fix section mismatch warning in pci_scan_child_bus 2008-03-04 15:07:03 -08:00
hotplug.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
htirq.c PCI: Use pci_find_ht_capability() in drivers/pci/htirq.c 2006-12-20 10:54:42 -08:00
intel-iommu.c Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus 2008-07-21 16:37:17 +02:00
intel-iommu.h copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
iova.c PCI: iova RB tree setup tweak 2008-04-20 21:47:06 -07:00
iova.h PCI: pci-iommu-iotlb-flushing-speedup 2008-04-20 21:47:13 -07:00
Kconfig PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
Makefile PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
msi.c PCI: fully restore MSI state at resume time 2008-08-07 08:52:37 -07:00
msi.h PCI: Make some MSI-X #defines generic 2006-12-01 14:36:56 -08:00
pci-acpi.c PCI: disable ASPM per ACPI FADT setting 2008-07-28 14:56:09 -07:00
pci-driver.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
pci-sysfs.c PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev. 2008-07-02 11:25:54 -07:00
pci.c PCI PM: Export pci_pme_active to drivers 2008-08-07 15:33:36 -07:00
pci.h 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
probe.c Merge branch 'pci-for-jesse' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into x86-merge 2008-08-18 09:54:13 -07:00
proc.c PCI: fixup sparse endianness warnings in proc.c 2008-07-22 15:19:44 -07:00
quirks.c PCI: Limit VPD length for Broadcom 5708S 2008-08-07 17:47:37 -07:00
remove.c PCI: add PCI Express ASPM support 2008-04-20 21:47:03 -07:00
rom.c docbook: fix kernel-api source files 2008-03-03 10:47:14 -08:00
search.c PCI: clean up search.c a lot 2008-04-20 21:46:54 -07:00
setup-bus.c Merge branch 'linus' into pci-for-jesse 2008-07-18 22:39:59 +02:00
setup-irq.c PCI: use dev_printk when possible 2008-06-25 16:05:13 -07:00
setup-res.c PCI: use dev_printk when possible 2008-06-25 16:05:13 -07:00
slot.c PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
syscall.c PCI: remove unneeded lock_kernel() in drivers/pci/syscall.c. 2008-02-01 15:04:21 -08:00