<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/pci/pwrctrl/slot.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2025-10-15T10:03:42Z</updated>
<entry>
<title>PCI/pwrctrl: Fix double cleanup on devm_add_action_or_reset() failure</title>
<updated>2025-10-15T10:03:42Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2025-08-13T15:56:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=77732c58fef6247b71493dc3997af0ec0aaad5c7'/>
<id>urn:sha1:77732c58fef6247b71493dc3997af0ec0aaad5c7</id>
<content type='text'>
[ Upstream commit ab81f2f79c683c94bac622aafafbe8232e547159 ]

When devm_add_action_or_reset() fails, it calls the passed cleanup
function.  Hence the caller must not repeat that cleanup.

Replace the "goto err_regulator_free" by the actual freeing, as there
will never be a need again for a second user of this label.

Fixes: 75996c92f4de309f ("PCI/pwrctrl: Add pwrctrl driver for PCI slots")
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Tested-by: Marek Vasut &lt;marek.vasut+renesas@mailbox.org&gt; # V4H Sparrow Hawk
Reviewed-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Reviewed-by: Marek Vasut &lt;marek.vasut+renesas@mailbox.org&gt;
Acked-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Link: https://patch.msgid.link/7b1386e6162e70e6d631c87f6323d2ab971bc1c5.1755100324.git.geert+renesas@glider.be
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI/pwrctrl: Add optional slot clock for PCI slots</title>
<updated>2025-06-13T21:59:52Z</updated>
<author>
<name>Marek Vasut</name>
<email>marek.vasut+renesas@mailbox.org</email>
</author>
<published>2025-06-13T21:46:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=66db1d3cbdb0e89f8a3b5d06a8defb25d1c3f836'/>
<id>urn:sha1:66db1d3cbdb0e89f8a3b5d06a8defb25d1c3f836</id>
<content type='text'>
Add the ability to enable optional slot clock into the pwrctrl driver.
This is used to enable slot clock in split-clock topologies, where the PCIe
host/controller supply and PCIe slot supply are not provided by the same
clock. The PCIe host/controller clock should be described in the controller
node as the controller clock, while the slot clock should be described in
controller bridge/slot subnode.

Example DT snippet:

  &amp;pcicontroller {
      clocks = &lt;&amp;clk_dif 0&gt;;             /* PCIe controller clock */

      pci@0,0 {
          #address-cells = &lt;3&gt;;
          #size-cells = &lt;2&gt;;
          reg = &lt;0x0 0x0 0x0 0x0 0x0&gt;;
          compatible = "pciclass,0604";
          device_type = "pci";
          clocks = &lt;&amp;clk_dif 1&gt;;         /* PCIe slot clock */
          vpcie3v3-supply = &lt;&amp;reg_3p3v&gt;;
          ranges;
      };
  };

Example clock topology:
   ____________                    ____________
  |  PCIe host |                  | PCIe slot  |
  |            |                  |            |
  |    PCIe RX&lt;|==================|&gt;PCIe TX    |
  |    PCIe TX&lt;|==================|&gt;PCIe RX    |
  |            |                  |            |
  |   PCIe CLK&lt;|======..  ..======|&gt;PCIe CLK   |
  '------------'      ||  ||      '------------'
                      ||  ||
   ____________       ||  ||
  |  9FGV0441  |      ||  ||
  |            |      ||  ||
  |   CLK DIF0&lt;|======''  ||
  |   CLK DIF1&lt;|==========''
  |   CLK DIF2&lt;|
  |   CLK DIF3&lt;|
  '------------'

Immutable commit for Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;

Signed-off-by: Marek Vasut &lt;marek.vasut+renesas@mailbox.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Anand Moon &lt;linux.amoon@gmail.com&gt;
Reviewed-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Reviewed-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Acked-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
</content>
</entry>
<entry>
<title>PCI/pwrctrl: Add pwrctrl driver for PCI slots</title>
<updated>2025-02-21T01:03:39Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
<email>manivannan.sadhasivam@linaro.org</email>
</author>
<published>2025-01-16T14:09:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=75996c92f4de309f855471927e6489f5a354cfd4'/>
<id>urn:sha1:75996c92f4de309f855471927e6489f5a354cfd4</id>
<content type='text'>
This driver is used to control the power state of the devices attached to
the PCI slots. Currently, it controls the voltage rails of the PCI slots
defined in the devicetree node of the root port.

The voltage rails for PCI slots are documented in the DT-schema:

  https://github.com/devicetree-org/dt-schema/blob/v2024.11/dtschema/schemas/pci/pci-bus-common.yaml#L153

Since this driver has to work with different kind of slots (PCIe
x1/x4/x8/x16, Mini PCIe, PCI, etc.), the driver is thus using the
of_regulator_bulk_get_all() API to obtain the voltage regulators defined
in the DT node, instead of hardcoding them.

As such, the DT node of the root port should define the relevant supply
properties corresponding to the voltage rails of the PCI slot.

Tested-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20250116-pci-pwrctrl-slot-v3-5-827473c8fbf4@linaro.org
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński &lt;kwilczynski@kernel.org&gt;
</content>
</entry>
</feed>
