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

From: Paolo Abeni
Date: Mon Jun 12 2023 - 03:42:03 EST


On Sun, 2023-06-11 at 11:36 +0200, Jiri Pirko wrote:
> 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.

WRT, I think the easiest way to solve the above is adding the function
call in the next patch.

Cheers,

Paolo