[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0c8db56a-6738-e003-5088-0c13588f695a@socionext.com>
Date: Fri, 28 Dec 2018 15:38:58 +0900
From: "Sugaya, Taichi" <sugaya.taichi@...ionext.com>
To: Stephen Boyd <sboyd@...nel.org>, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-clk@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org
Cc: Michael Turquette <mturquette@...libre.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Russell King <linux@...linux.org.uk>,
Jiri Slaby <jslaby@...e.com>,
Masami Hiramatsu <masami.hiramatsu@...aro.org>,
Jassi Brar <jaswinder.singh@...aro.org>
Subject: Re: [PATCH 07/14] clock: milbeaut: Add Milbeaut M10V clock control
Hi
On 2018/12/28 9:39, Stephen Boyd wrote:
> Quoting Sugaya, Taichi (2018-12-25 17:35:27)
>> Hi
>>
>> On 2018/11/30 17:31, Stephen Boyd wrote:
>>>> + init.num_parents = parents;
>>>> + init.parent_names = parent_names;
>>>> +
>>>> + mcm->cname = clk_name;
>>>> + mcm->parent = 0;
>>>> + mcm->hw.init = &init;
>>>> +
>>>> + clk = clk_register(NULL, &mcm->hw);
>>>> + if (IS_ERR(clk))
>>>> + goto err_clk;
>>>> +
>>>> + of_clk_add_provider(node, of_clk_src_simple_get, clk);
>>>> + return;
>>>> +
>>>> +err_clk:
>>>> + kfree(mcm);
>>>> +err_mcm:
>>>> + kfree(parent_names);
>>>> +}
>>>> +CLK_OF_DECLARE(m10v_clk_mux, "socionext,milbeaut-m10v-clk-mux",
>>>> + m10v_clk_mux_setup);
>>>
>>> Any chance you can use a platform driver?
>>>
>>
>> Excuse me to re-ask you.
>> Why do you recommend to use a platform driver? Is that current fad?
>
> Not exactly a fad. We've been doing it for some time now. From an older
> email on the list:
>
> Reasons (in no particular order):
>
> 1. We get a dev pointer to use with clk_hw_register()
>
> 2. We can handle probe defer if some resource is not available
>
> 3. Using device model gets us a hook into power management frameworks
> like runtime PM and system PM for things like suspend and hibernate
>
> 4. It encourages a single DT node clk controller style binding
> instead of a single node per clk style binding
>
> 5. We can use non-DT specific functions like devm_ioremap_resource() to map
> registers and acquire other resources, leading to more portable and
> generic code
>
> 6. We may be able to make the device driver a module, which will
> make distros happy if we don't have to compile in all
> these clk drivers to the resulting vmlinux
>
Great thanks for answering. I strongly understand.
#It takes a bit of time to send v2.
Best Regards,
Sugaya Taichi
Powered by blists - more mailing lists