Re: [PATCH v2 2/5] PCI/pwrctl: Create pwrctl devices only if at least one power supply is present
From: Bjorn Helgaas
Date: Wed Nov 06 2024 - 16:28:35 EST
On Fri, Oct 25, 2024 at 01:24:52PM +0530, Manivannan Sadhasivam via B4 Relay wrote:
> From: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
>
> Currently, pwrctl devices are created if the corresponding PCI nodes are
> defined in devicetree. But this is not correct, because not all PCI nodes
> defined in devicetree require pwrctl support. Pwrctl comes into picture
> only when the device requires kernel to manage its power state. This can
> be determined using the power supply properties present in the devicetree
> node of the device.
> +bool of_pci_is_supply_present(struct device_node *np)
> +{
> + struct property *prop;
> + char *supply;
> +
> + if (!np)
> + return false;
Why do we need to test !np here? It should always be non-NULL.
> + for_each_property_of_node(np, prop) {
> + supply = strrchr(prop->name, '-');
> + if (supply && !strcmp(supply, "-supply"))
> + return true;
> + }
> +
> + return false;
> +}