[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b0651571-a30a-93b4-5a88-c9738239d35d@ti.com>
Date: Tue, 19 Jun 2018 16:43:28 +0530
From: "J, KEERTHY" <j-keerthy@...com>
To: Tero Kristo <t-kristo@...com>, <sboyd@...nel.org>,
<tony@...mide.com>
CC: <linux-omap@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <mturquette@...libre.com>,
<d-gerlach@...com>
Subject: Re: [PATCH 2/4] clk: clk: Add clk_dflt_restore
On 6/19/2018 11:36 AM, Tero Kristo wrote:
> On 19/06/18 07:28, Keerthy wrote:
>> The default restore context function enables or disables
>> the clock based on the enable_count. This is done in cases
>> where the clock context is lost and based on the enable_count
>> the clock either needs to be enabled/disabled. This particularly
>> helps restore the state of gate clocks.
>>
>> Signed-off-by: Keerthy <j-keerthy@...com>
>> ---
>> drivers/clk/clk.c | 19 +++++++++++++++++++
>> include/linux/clk-provider.h | 2 ++
>> 2 files changed, 21 insertions(+)
>>
>> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
>> index 7347e06..c201b8b 100644
>> --- a/drivers/clk/clk.c
>> +++ b/drivers/clk/clk.c
>> @@ -910,6 +910,25 @@ static int clk_core_enable_lock(struct clk_core
>> *core)
>> return ret;
>> }
>> +/**
>> + * clk_dflt_restore_context - restore context for poweroff
>> + * @hw: the clk_hw pointer of clock whose state is to be restored
>> + *
>> + * The default restore context function enables or disables
>> + * the clock based on the enable_count. This is done in cases
>> + * where the clock context is lost and based on the enable_count
>> + * the clock either needs to be enabled/disabled. This particularly
>> + * helps restore the state of gate clocks.
>> + */
>> +void clk_dflt_restore_context(struct clk_hw *hw)
>
> I think the name of this function is wrong, it should be
> clk_gate_restore_context, as only gate clocks are ever going to be using
> this afaics.
Okay. Yes this applies to gate clocks. I will fix this.
>
> -Tero
>
>> +{
>> + if (hw->clk->core->enable_count)
>> + hw->clk->core->ops->enable(hw);
>> + else
>> + hw->clk->core->ops->disable(hw);
>> +}
>> +EXPORT_SYMBOL_GPL(clk_dflt_restore_context);
>> +
>> static int _clk_save_context(struct clk_core *clk)
>> {
>> struct clk_core *child;
>> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
>> index 7f30d62..3e0c61a 100644
>> --- a/include/linux/clk-provider.h
>> +++ b/include/linux/clk-provider.h
>> @@ -992,5 +992,7 @@ static inline void clk_writel(u32 val, u32 __iomem
>> *reg)
>> #endif /* platform dependent I/O accessors */
>> +void clk_dflt_restore_context(struct clk_hw *hw);
>> +
>> #endif /* CONFIG_COMMON_CLK */
>> #endif /* CLK_PROVIDER_H */
>>
>
> --
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Powered by blists - more mailing lists