Thu, Dec 11, 2025 at 08:47:45PM +0100, [email protected] wrote:
[..]
>@@ -559,7 +563,8 @@ EXPORT_SYMBOL(dpll_netdev_pin_clear);
> */
> struct dpll_pin *
> dpll_pin_get(u64 clock_id, u32 pin_idx, struct module *module,
>- const struct dpll_pin_properties *prop)
>+ const struct dpll_pin_properties *prop,
>+ struct fwnode_handle *fwnode)
> {
> struct dpll_pin *pos, *ret = NULL;
> unsigned long i;
>@@ -568,14 +573,15 @@ dpll_pin_get(u64 clock_id, u32 pin_idx, struct module
>*module,
> xa_for_each(&dpll_pin_xa, i, pos) {
> if (pos->clock_id == clock_id &&
> pos->pin_idx == pin_idx &&
>- pos->module == module) {
>+ pos->module == module &&
>+ pos->fwnode == fwnode) {
Is fwnode part of the key? Doesn't look to me like that. Then you can
have a simple helper to set fwnode on struct dpll_pin *, and leave
dpll_pin_get() out of this, no?
> ret = pos;
> refcount_inc(&ret->refcount);
> break;
> }
[..]