[PATCH v5 10/44] clk: davinci: New driver for davinci PSC clocks

David Lechner david at lechnology.com
Wed Jan 17 09:28:41 PST 2018


On 01/17/2018 06:25 AM, Sekhar Nori wrote:
> On Tuesday 16 January 2018 10:21 PM, David Lechner wrote:
> 
>>>> +static struct clk *davinci_psc_clk_register(const char *name,
>>>> +                        const char *parent_name,
>>>> +                        struct regmap *regmap,
>>>> +                        u32 lpsc, u32 pd, u32 flags)
>>>> +{
>>>> +    struct clk_init_data init;
>>>> +    struct davinci_psc_clk *psc;
>>>> +    struct clk *clk;
>>>> +
>>>> +    psc = kzalloc(sizeof(*psc), GFP_KERNEL);
>>>> +    if (!psc)
>>>> +        return ERR_PTR(-ENOMEM);
>>>> +
>>>> +    init.name = name;
>>>> +    init.ops = &davinci_psc_clk_ops;
>>>> +    init.parent_names = (parent_name ? &parent_name : NULL);
>>>> +    init.num_parents = (parent_name ? 1 : 0);
>>>> +    init.flags = CLK_SET_RATE_PARENT;
>>>
>>> Is this needed since PSC does not cause any rate change?
>>
>> Yes, because one of the PSCs is the ARM clock and for cpufreq, we
>> need to propagate the rate change up the chain to SYSCLK6.
> 
> Good point. But how about treating that as an exception with a new LPSC_
> quirk flag?

Sure.



More information about the linux-arm-kernel mailing list