Re: [PATCH v2] PM / clk: make PM clock layer compatible with clocks that must sleep

From: Nicolas Pitre
Date: Fri Jan 22 2021 - 10:54:50 EST


On Fri, 22 Jan 2021, Rafael J. Wysocki wrote:

> > > +/**
> > > + * pm_clk_list_unlock - counterpart to pm_clk_list_lock().
> > > + * @psd: the same pm_subsys_data instance previously passed to
> > > + * pm_clk_list_lock().
> > > + */
> > > +static void pm_clk_list_unlock(struct pm_subsys_data *psd)
>
> Locking annotations for sparse were missing here and above, so I've
> added them by hand.

Thanks.

> Please double check the result in my linux-next branch (just pushed).

There are still the following warnings:

drivers/base/power/clock_ops.c:52:13: warning: context imbalance in 'pm_clk_list_lock' - wrong count at exit
drivers/base/power/clock_ops.c:64:13: warning: context imbalance in 'pm_clk_list_unlock' - wrong count at exit

I guess this can be silenced (still need to investigate how those
annotations work).

But I'm more worried about these:

drivers/base/power/clock_ops.c:86:12: warning: context imbalance in 'pm_clk_op_lock' - different lock contexts for basic block
drivers/base/power/clock_ops.c:131:39: warning: context imbalance in 'pm_clk_op_unlock' - unexpected unlock

Those are special locking helpers indeed and I don't know if that can be
dealt with.


Nicolas