]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge branch 'pci/pwrctrl'
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 6 Feb 2026 23:09:24 +0000 (17:09 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 6 Feb 2026 23:09:24 +0000 (17:09 -0600)
- Rename pwrseq, tc9563, and slot driver structs, variables, and functions
  for consistency (Bjorn Helgaas)

- Add power_on/off callbacks with generic signature to pwrseq, tc9563, and
  slot drivers so they can be used by pwrctrl core (Manivannan Sadhasivam)

- Add interfaces to create and destroy pwrctrl devices (Krishna Chaitanya
  Chundru)

- Add interfaces to power devices on and off (Manivannan Sadhasivam)

- Switch to pwrctrl interfaces to create, destroy, and power on/off
  devices, calling them from host controller drivers instead of the PCI
  core (Manivannan Sadhasivam)

- Drop qcom .assert_perst() callbacks since this is now done by the
  controller driver instead of the pwrctrl driver (Manivannan Sadhasivam)

- Add PCIe M.2 connector support to the slot pwrctrl driver (Manivannan
  Sadhasivam)

- Create pwrctrl devices for devicetree PCIe M.2 connector nodes
  (Manivannan Sadhasivam)

* pci/pwrctrl:
  PCI/pwrctrl: Create pwrctrl device if graph port is found
  PCI/pwrctrl: Add PCIe M.2 connector support
  PCI: Drop the assert_perst() callback
  PCI: qcom: Drop the assert_perst() callbacks
  PCI/pwrctrl: Switch to pwrctrl create, power on/off, destroy APIs
  PCI/pwrctrl: Add APIs to power on/off pwrctrl devices
  PCI/pwrctrl: Add APIs to create, destroy pwrctrl devices
  PCI/pwrctrl: Add 'struct pci_pwrctrl::power_{on/off}' callbacks
  PCI/pwrctrl: pwrseq: Factor out power on/off code to helpers
  PCI/pwrctrl: slot: Factor out power on/off code to helpers
  PCI/pwrctrl: tc9563: Rename private struct and pointers for consistency
  PCI/pwrctrl: tc9563: Add local variables to reduce repetition
  PCI/pwrctrl: tc9563: Clean up whitespace
  PCI/pwrctrl: tc9563: Use put_device() instead of i2c_put_adapter()
  PCI/pwrctrl: slot: Rename private struct and pointers for consistency
  PCI/pwrctrl: pwrseq: Rename private struct and pointers for consistency

# Conflicts:
# drivers/pci/bus.c

1  2 
drivers/pci/bus.c
drivers/pci/probe.c
include/linux/pci.h

index 41e5c45e38b5eca36c874b6dcf1cebcbddab9ce4,d60d5f1082120ddd2433bbe0166ffff0f2346d8e..51af9e6c541c282f1a7ba9ed87b57bb39f5acf87
@@@ -362,31 -360,6 +361,13 @@@ void pci_bus_add_device(struct pci_dev 
        /* Save config space for error recoverability */
        pci_save_state(dev);
  
-       /*
-        * If the PCI device is associated with a pwrctrl device with a
-        * power supply, create a device link between the PCI device and
-        * pwrctrl device.  This ensures that pwrctrl drivers are probed
-        * before PCI client drivers.
-        */
-       pdev = of_find_device_by_node(dn);
-       if (pdev) {
-               if (of_pci_supply_present(dn)) {
-                       if (!device_link_add(&dev->dev, &pdev->dev,
-                                            DL_FLAG_AUTOREMOVE_CONSUMER)) {
-                               pci_err(dev, "failed to add device link to power control device %s\n",
-                                       pdev->name);
-                       }
-               }
-               put_device(&pdev->dev);
-       }
 +      /*
 +       * Enable runtime PM, which potentially allows the device to
 +       * suspend immediately, only after the PCI state has been
 +       * configured completely.
 +       */
 +      pm_runtime_enable(&dev->dev);
 +
        if (!dn || of_device_is_available(dn))
                pci_dev_allow_binding(dev);
  
Simple merge
Simple merge