• Bjorn Helgaas's avatar
    Merge branch 'pci/hotplug' · c0638a45
    Bjorn Helgaas authored
      - Simplify SHPC existence/permission checks (Bjorn Helgaas)
    
      - Remove hotplug sample skeleton driver (Lukas Wunner)
    
      - Convert pciehp to threaded IRQ handling (Lukas Wunner)
    
      - Improve pciehp tolerance of missed events and initially unstable links
        (Lukas Wunner)
    
      - Clear spurious pciehp events on resume (Lukas Wunner)
    
      - Add pciehp runtime PM support, including for Thunderbolt controllers
        (Lukas Wunner)
    
      - Support interrupts from pciehp bridges in D3hot (Lukas Wunner)
    
    * pci/hotplug:
      PCI: pciehp: Deduplicate presence check on probe & resume
      PCI: pciehp: Avoid implicit fallthroughs in switch statements
      PCI: Whitelist Thunderbolt ports for runtime D3
      PCI: Whitelist native hotplug ports for runtime D3
      PCI: sysfs: Resume to D0 on function reset
      PCI: pciehp: Resume parent to D0 on config space access
      PCI: pciehp: Resume to D0 on enable/disable
      PCI: pciehp: Support interrupts sent from D3hot
      PCI: pciehp: Obey compulsory command delay after resume
      PCI: pciehp: Clear spurious events earlier on resume
      PCI: portdrv: Deduplicate PM callback iterator
      PCI: pciehp: Avoid slot access during reset
      PCI: pciehp: Always enable occupied slot on probe
      PCI: pciehp: Become resilient to missed events
      PCI: pciehp: Tolerate initially unstable link
      PCI: pciehp: Declare pciehp_enable/disable_slot() static
      PCI: pciehp: Drop enable/disable lock
      PCI: pciehp: Enable/disable exclusively from IRQ thread
      PCI: pciehp: Track enable/disable status
      PCI: pciehp: Publish to user space last on probe
      PCI: hotplug: Demidlayer registration with the core
      PCI: pciehp: Drop slot workqueue
      PCI: pciehp: Handle events synchronously
      PCI: pciehp: Stop blinking on slot enable failure
      PCI: pciehp: Convert to threaded polling
      PCI: pciehp: Convert to threaded IRQ
      PCI: pciehp: Document struct slot and struct controller
      PCI: pciehp: Declare pciehp_unconfigure_device() void
      PCI: pciehp: Drop unnecessary NULL pointer check
      PCI: pciehp: Fix unprotected list iteration in IRQ handler
      PCI: pciehp: Fix use-after-free on unplug
      PCI: hotplug: Don't leak pci_slot on registration failure
      PCI: hotplug: Delete skeleton driver
      PCI: shpchp: Separate existence of SHPC and permission to use it
    c0638a45
pci.c 154 KB