[PATCH 4/6] clk: Return -ENOSYS when system call is not available

Simon Glass sjg at chromium.org
Tue Mar 23 05:08:19 CET 2021


Hi Seam,

On Sun, 21 Mar 2021 at 17:37, Sean Anderson <seanga2 at gmail.com> wrote:
>
>
> On 3/20/21 11:18 PM, Simon Glass wrote:
> > Update clk_composite_set_parent() to use -ENOSYS, which is the correct
> > error code for U-Boot. Also rearrange the code so that the error condition
> > is clearly indicated and the function runs to the end in the normal case,
> > since this is the common style in U-Boot.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> >   drivers/clk/clk-composite.c | 8 ++++----
> >   1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c
> > index 7e99c5b910d..bb5351ebc0b 100644
> > --- a/drivers/clk/clk-composite.c
> > +++ b/drivers/clk/clk-composite.c
> > @@ -37,10 +37,10 @@ static int clk_composite_set_parent(struct clk *clk, struct clk *parent)
> >       const struct clk_ops *mux_ops = composite->mux_ops;
> >       struct clk *mux = composite->mux;
> >
> > -     if (mux && mux_ops)
> > -             return mux_ops->set_parent(mux, parent);
> > -     else
> > -             return -ENOTSUPP;
> > +     if (!mux || !mux_ops)
> > +             return -ENOSYS;
> > +
> > +     return mux_ops->set_parent(mux, parent);
> >   }
> >
> >   static unsigned long clk_composite_recalc_rate(struct clk *clk)
> >
>
> Reviewed-by: Sean Anderson <seanga2 at gmail.com>
>
> Will this be applied to the whole clock subsystem? From what I can tell,
> the clock subsystem returns ENOSYS in these situations, and drivers
> return ENOTSUPP. It would be great if we could unified all these so
> callers could check for one return value.

Most drivers use -EINVAL for an invalid / unknown clock, whereas
-ENOSYS is for an unimplemented method or sub-method.

So I'll add a patch to use -EINVAL consistently.

Regards,
Simon


More information about the U-Boot mailing list