Re: [RFC PATCH v8 03/10] dpll: core: Add DPLL framework base functions

From: Jiri Pirko
Date: Sun Jun 11 2023 - 05:37:07 EST


Fri, Jun 09, 2023 at 02:18:46PM CEST, arkadiusz.kubalewski@xxxxxxxxx wrote:
>From: Vadim Fedorenko <vadim.fedorenko@xxxxxxxxx>

[...]

>+int dpll_device_register(struct dpll_device *dpll, enum dpll_type type,
>+ const struct dpll_device_ops *ops, void *priv)
>+{
>+ struct dpll_device_registration *reg;
>+ bool first_registration = false;
>+
>+ if (WARN_ON(!ops))
>+ return -EINVAL;
>+ if (WARN_ON(type < DPLL_TYPE_PPS || type > DPLL_TYPE_MAX))
>+ return -EINVAL;
>+
>+ mutex_lock(&dpll_lock);
>+ reg = dpll_device_registration_find(dpll, ops, priv);
>+ if (reg) {
>+ mutex_unlock(&dpll_lock);
>+ return -EEXIST;
>+ }
>+
>+ reg = kzalloc(sizeof(*reg), GFP_KERNEL);
>+ if (!reg) {
>+ mutex_unlock(&dpll_lock);
>+ return -EEXIST;
>+ }
>+ reg->ops = ops;
>+ reg->priv = priv;
>+ dpll->type = type;
>+ first_registration = list_empty(&dpll->registration_list);
>+ list_add_tail(&reg->list, &dpll->registration_list);
>+ if (!first_registration) {
>+ mutex_unlock(&dpll_lock);
>+ return 0;
>+ }
>+
>+ xa_set_mark(&dpll_device_xa, dpll->id, DPLL_REGISTERED);
>+ mutex_unlock(&dpll_lock);
>+ dpll_device_create_ntf(dpll);

This function is introduced in the next patch. Breaks bissection. Make
sure you can compile the code after every patch applied.



>+
>+ return 0;
>+}

[...]