Re: [PATCH v2] counter: rz-mtu3-cnt: put runtime PM ref if counter init fails
From: William Breathitt Gray
Date: Sat Oct 31 2026 - 14:21:38 EST
On Sat, Oct 31, 2026 at 04:34:32PM +0000, Biju Das wrote:
> Hi William Breathitt Gray,
>
> Thanks for the feedback.
>
> > -----Original Message-----
> > From: William Breathitt Gray <wbg@xxxxxxxxxx>
> > Sent: 31 October 2026 16:29
> > Subject: Re: [PATCH v2] counter: rz-mtu3-cnt: put runtime PM ref if counter init fails
> >
> > On Sat, Oct 31, 2026 at 10:28:13PM +0800, Li Youhong wrote:
> > > From: Li Youhong <liyouhong@xxxxxxxxxx>
> > >
> > > Counter enable takes a runtime PM reference before initialization but
> > > only puts it on disable. Drop the reference if initialization fails.
> > >
> > > Fixes: 0be8907359df ("counter: Add Renesas RZ/G2L MTU3a counter
> > > driver")
> > > Cc: stable@xxxxxxxxxxxxxxx
> > > Reviewed-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@xxxxxxxxxxx>
> > > Signed-off-by: Li Youhong <liyouhong@xxxxxxxxxx>
> > > ---
> > > v2:
> > > - Add Cc: stable@xxxxxxxxxxxxxxx.
> > > - v1:
> > > https://lore.kernel.org/all/20261008020506.211566-1-dayou5941@xxxxxxx/
> > >
> > > drivers/counter/rz-mtu3-cnt.c | 7 +++++--
> > > 1 file changed, 5 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/counter/rz-mtu3-cnt.c
> > > b/drivers/counter/rz-mtu3-cnt.c index 7bfb6979193c..61fbeb122851
> > > 100644
> > > --- a/drivers/counter/rz-mtu3-cnt.c
> > > +++ b/drivers/counter/rz-mtu3-cnt.c
> > > @@ -506,8 +506,11 @@ static int rz_mtu3_count_enable_write(struct counter_device *counter,
> > > if (enable) {
> > > pm_runtime_get_sync(counter->parent);
> > > ret = rz_mtu3_initialize_counter(counter, count->id);
> > > - if (ret == 0)
> > > - priv->count_is_enabled[count->id] = true;
> > > + if (ret < 0) {
> > > + pm_runtime_put(counter->parent);
> > > + goto exit;
> > > + }
> > > + priv->count_is_enabled[count->id] = true;
> > > } else {
> > > rz_mtu3_terminate_counter(counter, count->id);
> > > priv->count_is_enabled[count->id] = false;
> > > --
> > > 2.25.1
> > >
V> >
> > This patch seems similar to another we're considering for ti-eqep.[^1] In that patch, runtime PM is
> > managed via devm which allows us to remove the explicit PM unwind on failures and have them implicitly
> > handled when the device resource is released. Should we use the same approach for rz-mtu-cnt?
>
> Here we save power, clock is turned on/off during counter enable/disable.
> On TI case, they enable it during the probe which unnecessarily waste power.
> Even disable case, the clock is on.
>
> Cheers,
> Biju
I suppose you are right. There is no need to keep the clocks powered if
the counter is disabled because we are no longer counting.
William Breathitt Gray.