RE: [RFC - PATCH] base:pm: prepare driver for common clock framework

From: Karicheri, Muralidharan
Date: Wed Sep 19 2012 - 10:14:16 EST


+ Len Brown
>> -----Original Message-----
>> From: linux-pm-owner@xxxxxxxxxxxxxxx [mailto:linux-pm-owner@xxxxxxxxxxxxxxx] On
>> Behalf Of Karicheri, Muralidharan
>> Sent: Wednesday, September 19, 2012 10:09 AM
>> To: Rafael J. Wysocki
>> Cc: linux-pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Chemparathy, Cyril;
>> mturquette@xxxxxxxxxx; Magnus Damm; Linux-sh list
>> Subject: RE: [RFC - PATCH] base:pm: prepare driver for common clock framework
>>
>> >> -----Original Message-----
>> >> From: Rafael J. Wysocki [mailto:rjw@xxxxxxx]
>> >> Sent: Tuesday, September 18, 2012 5:34 PM
>> >> To: Karicheri, Muralidharan
>> >> Cc: linux-pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Chemparathy, Cyril;
>> >> mturquette@xxxxxxxxxx; Magnus Damm; Linux-sh list
>> >> Subject: Re: [RFC - PATCH] base:pm: prepare driver for common clock framework
>> >>
>> >> On Saturday, September 15, 2012, Murali Karicheri wrote:
>> >> > As part of my work to migrate davinci SoC code to
>> >> > use common clk framework, I encountered an issue with this driver
>> >> > which is calling clk_enable() and clk_disable() without prepare()/
>> >> > unprepare(). This change is needed to enable common clock migration
>> >> > for davinci SoCs.
>> >> >
>> >> > Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx>
>> >>
>> >> There are other users of this code than davinci. For example, sh
>> >> and ARM/shmobile both use it. Have you verified that your changes will
>> >> work for them too?
>> >>
>> Rafael,
>>
>> Technically do you agree with the changes or do I need to get it reviewed by someone in
>> particular? I have no way of verifying if this works for sh and ARM/shmobile. I have
>> copied this RFC patch to the list showed up by scripts/get_maintainer.pl list. Any idea
>> how I can get this patch reviewed by the sh and ARM/shmobile maintainers and get it
>> tested as well? This is required for DaVinci for sure unless there is an alternate way of
>> doing this. Well, then that is the idea of sending an RFC patch.
>>
>> -Murali
>>
>> >> Rafael
>> >>
>> >>
>> >> > diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c
>> >> > index eb78e96..9d8fde7 100644
>> >> > --- a/drivers/base/power/clock_ops.c
>> >> > +++ b/drivers/base/power/clock_ops.c
>> >> > @@ -99,7 +99,7 @@ static void __pm_clk_remove(struct pm_clock_entry *ce)
>> >> >
>> >> > if (ce->status < PCE_STATUS_ERROR) {
>> >> > if (ce->status == PCE_STATUS_ENABLED)
>> >> > - clk_disable(ce->clk);
>> >> > + clk_disable_unprepare(ce->clk);
>> >> >
>> >> > if (ce->status >= PCE_STATUS_ACQUIRED)
>> >> > clk_put(ce->clk);
>> >> > @@ -396,7 +396,7 @@ static void enable_clock(struct device *dev, const char
>> >> *con_id)
>> >> >
>> >> > clk = clk_get(dev, con_id);
>> >> > if (!IS_ERR(clk)) {
>> >> > - clk_enable(clk);
>> >> > + clk_prepare_enable(clk);
>> >> > clk_put(clk);
>> >> > dev_info(dev, "Runtime PM disabled, clock forced on.\n");
>> >> > }
>> >> > @@ -413,7 +413,7 @@ static void disable_clock(struct device *dev, const char
>> >> *con_id)
>> >> >
>> >> > clk = clk_get(dev, con_id);
>> >> > if (!IS_ERR(clk)) {
>> >> > - clk_disable(clk);
>> >> > + clk_disable_unprepare(clk);
>> >> > clk_put(clk);
>> >> > dev_info(dev, "Runtime PM disabled, clock forced off.\n");
>> >> > }
>> >> >
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/