On 1/12/26 5:20 PM, Krzysztof Kozlowski wrote:
On 09/01/2026 15:19, Ivan Vecera wrote:


On 1/9/26 10:55 AM, Krzysztof Kozlowski wrote:
On Thu, Jan 08, 2026 at 07:23:09PM +0100, Ivan Vecera wrote:
Add helper functions to the DPLL core to retrieve a DPLL pin's firmware
node handle based on the "dpll-pins" and "dpll-pin-names" properties.

* `fwnode_dpll_pin_node_get()`: matches the given name against the
    "dpll-pin-names" property to find the correct index, then retrieves
    the reference from "dpll-pins".
* `device_dpll_pin_node_get()`: a wrapper around the fwnode helper for
    convenience when using a `struct device`.

These helpers simplify the process for consumer drivers (such as Ethernet
controllers or PHYs) to look up their associated DPLL pins defined in
the DT or ACPI, which can then be passed to the DPLL subsystem to acquire
the pin object.

Signed-off-by: Ivan Vecera <[email protected]>
---
   drivers/dpll/dpll_core.c | 20 ++++++++++++++++++++
   include/linux/dpll.h     | 15 +++++++++++++++
   2 files changed, 35 insertions(+)


I don't see cells defined in your binding. Neither updated property.c.

And if the cells are not required? I mean that dpll-names only specifies
array of phandles without parameters...

e.g.
dpll-pin-names = "abc", "def";
dpll-pins = <&dpll_pin_abc>, <&dpll_pin_def>;

Should '#dpll-pin-cells' be defined as constantly equal to 0?

I don't understand how can you guarantee for every possible future
device to have always cells=0. If that's the case then indeed you do not
need cells, but this needs explanation. You are designing now entire
ABI, so you must design it fully, not just "works for me now".

Get it, you are right... Theoretically is possible that number of cells
will be > 0.

Will add '#dpll-pin-cells'

Thanks,
Ivan

Reply via email to