kernel code reading: pcie hotplug

This is the code for pcie_device hotplug. While I don't understand it very
much.

Currently, what I understand is:
1. For each pcie_device it will have one controller, one slot and one pci_slot
to represent it.
2. The slot structure will be shown in /sys/bus/pci/slots/
3. echo 1 > /sys/bus/pci/slots/xx/power to emulate a hotplug event.
pci on power: how the msi is initialized
kernel code reading: acpi pci hotplug