android_kernel_xiaomi_sm8350/drivers
Alex Chiang f46753c5e3 PCI: introduce pci_slot
Currently, /sys/bus/pci/slots/ only exposes hotplug attributes when a
hotplug driver is loaded, but PCI slots have attributes such as address,
speed, width, etc.  that are not related to hotplug at all.

Introduce pci_slot as the primary data structure and kobject model.
Hotplug attributes described in hotplug_slot become a secondary
structure associated with the pci_slot.

This patch only creates the infrastructure that allows the separation of
PCI slot attributes and hotplug attributes.  In this patch, the PCI
hotplug core remains the only user of this infrastructure, and thus,
/sys/bus/pci/slots/ will still only become populated when a hotplug
driver is loaded.

A later patch in this series will add a second user of this new
infrastructure and demonstrate splitting the task of exposing pci_slot
attributes from hotplug_slot attributes.

  - Make pci_slot the primary sysfs entity. hotplug_slot becomes a
    subsidiary structure.
    o pci_create_slot() creates and registers a slot with the PCI core
    o pci_slot_add_hotplug() gives it hotplug capability

  - Change the prototype of pci_hp_register() to take the bus and
    slot number (on parent bus) as parameters.

  - Remove all the ->get_address methods since this functionality is
    now handled by pci_slot directly.

[achiang@hp.com: rpaphp-correctly-pci_hp_register-for-empty-pci-slots]
Tested-by: Badari Pulavarty <pbadari@us.ibm.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[akpm@linux-foundation.org: build fix]
[akpm@linux-foundation.org: make headers_check happy]
[akpm@linux-foundation.org: nuther build fix]
[akpm@linux-foundation.org: fix typo in #include]
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Cc: Greg KH <greg@kroah.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Len Brown <lenb@kernel.org>
Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2008-06-10 14:37:03 -07:00
..
accessibility
acorn/char
acpi acpi: fix integer as NULL pointer warning 2008-05-23 08:11:06 -07:00
amba
ata libata: fix G5 SATA broken on -rc5 2008-06-05 08:36:37 -07:00
atm
auxdisplay
base Implement new suspend and hibernation callbacks for platform busses 2008-06-10 10:59:51 -07:00
block Add 'rd' alias to new brd ramdisk driver 2008-06-05 14:23:12 -07:00
bluetooth
cdrom
char ipwireless: Fix blocked sending 2008-06-06 11:31:02 -07:00
clocksource
connector
cpufreq Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2008-06-09 11:27:55 -07:00
cpuidle
crypto
dca
dio
dma
edac
eisa
firewire
firmware edd: fix incorrect return of 1 from module_init 2008-06-06 11:29:09 -07:00
gpio
hid
hwmon hdaps: fix module loading on Thinkpad T61P 2008-06-06 11:29:13 -07:00
i2c
ide
ieee1394
infiniband IB/core: Remove IB_DEVICE_SEND_W_INV capability flag 2008-06-09 09:58:42 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-05-30 10:17:19 -07:00
isdn
leds
lguest
macintosh
mca
md md: do not compute parity unless it is on a failed drive 2008-06-06 11:29:08 -07:00
media V4L/DVB (8001): dib0070: fix dib0070_attach when !CONFIG_DVB_TUNER_DIB0070 2008-06-05 10:26:21 -03:00
memstick
message
mfd
misc fujitsu-laptop: autoload module on Lifebook P1510D 2008-06-06 11:29:09 -07:00
mmc mmc: Fix crash in mmc_block on 64-bit 2008-06-05 16:14:17 -07:00
mtd Merge git://git.infradead.org/~dwmw2/mtd-2.6.26 2008-06-06 11:31:18 -07:00
net [POWERPC] ehea: Remove dependency on MEMORY_HOTPLUG 2008-06-09 11:32:44 +10:00
nubus
of rtc-ds1374: rename device to just "ds1374" 2008-06-06 11:29:10 -07:00
oprofile
parisc
parport
pci PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
pcmcia
pnp PNP: skip UNSET MEM resources as well as DISABLED ones 2008-06-05 10:30:37 -07:00
power power_supply: Fix race in power_supply_uevent 2008-06-10 02:13:51 +04:00
ps3
rapidio
rtc rtc: class driver for ppc_md RTC functions 2008-06-06 11:29:13 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-05-30 10:20:03 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2008-06-04 08:36:09 -07:00
serial Blackfin serial driver: fix up tty core set_ldisc API change breakage bug 2008-06-07 15:36:33 +08:00
sh
sn
spi spi: fix refcount-related spidev oops-on-rmmod 2008-06-06 11:29:08 -07:00
ssb ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enable 2008-06-04 15:57:10 -04:00
tc
telephony
thermal
uio
usb usb: r8a66597-hcd: Add support for SH7723 USB host 2008-06-09 16:04:12 +09:00
video fbdev: export symbol fb_mode_option 2008-06-06 11:29:12 -07:00
virtio virtio: force callback on empty. 2008-05-30 15:09:46 +10:00
w1
watchdog drivers/watchdog/geodewdt.c: build fix 2008-05-30 10:16:58 -07:00
xen
zorro
Kconfig
Makefile