[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8e336720-ce08-4391-ad36-b83fea246cab@samsung.com>
Date: Mon, 5 Feb 2024 10:19:16 +0100
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Shradha Todi <shradha.t@...sung.com>, 'Manivannan Sadhasivam'
<manivannan.sadhasivam@...aro.org>, sboyd@...nel.org,
mturquette@...libre.com
Cc: linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, jingoohan1@...il.com,
lpieralisi@...nel.org, kw@...ux.com, robh@...nel.org, bhelgaas@...gle.com,
krzysztof.kozlowski@...aro.org, alim.akhtar@...sung.com,
linux@...linux.org.uk, pankaj.dubey@...sung.com
Subject: Re: [PATCH v4 1/2] clk: Provide managed helper to get and enable
bulk clocks
On 02.02.2024 12:59, Shradha Todi wrote:
>> -----Original Message-----
>> From: Manivannan Sadhasivam<manivannan.sadhasivam@...aro.org>
>> Sent: 29 January 2024 12:25
>> To: Shradha Todi<shradha.t@...sung.com>
>> Subject: Re: [PATCH v4 1/2] clk: Provide managed helper to get and enable bulk
>> clocks
>>
>> On Wed, Jan 24, 2024 at 04:08:37PM +0530, Shradha Todi wrote:
>>> Provide a managed devm_clk_bulk* wrapper to get and enable all bulk
>>> clocks in order to simplify drivers that keeps all clocks enabled for
>>> the time of driver operation.
>>>
>>> Suggested-by: Marek Szyprowski<m.szyprowski@...sung.com>
>>> Signed-off-by: Shradha Todi<shradha.t@...sung.com>
>>> ---
>>> drivers/clk/clk-devres.c | 40
>> ++++++++++++++++++++++++++++++++++++++++
>>> include/linux/clk.h | 24 ++++++++++++++++++++++++
>>> 2 files changed, 64 insertions(+)
>>>
>>> diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index
>>> 4fb4fd4b06bd..cbbd2cc339c3 100644
>>> --- a/drivers/clk/clk-devres.c
>>> +++ b/drivers/clk/clk-devres.c
>>> @@ -182,6 +182,46 @@ int __must_check devm_clk_bulk_get_all(struct
>>> device *dev, } EXPORT_SYMBOL_GPL(devm_clk_bulk_get_all);
>>>
>>> +static void devm_clk_bulk_release_all_enable(struct device *dev, void
>>> +*res) {
>>> + struct clk_bulk_devres *devres = res;
>>> +
>>> + clk_bulk_disable_unprepare(devres->num_clks, devres->clks);
>>> + clk_bulk_put_all(devres->num_clks, devres->clks); }
>>> +
>>> +int __must_check devm_clk_bulk_get_all_enable(struct device *dev,
>>> + struct clk_bulk_data **clks) {
>>> + struct clk_bulk_devres *devres;
>>> + int ret;
>>> +
>>> + devres = devres_alloc(devm_clk_bulk_release_all_enable,
>>> + sizeof(*devres), GFP_KERNEL);
>>> + if (!devres)
>>> + return -ENOMEM;
>>> +
>>> + ret = clk_bulk_get_all(dev, &devres->clks);
>>> + if (ret > 0) {
>>> + *clks = devres->clks;
>>> + devres->num_clks = ret;
>>> + } else {
>>> + devres_free(devres);
>>> + return ret;
>>> + }
>> How about:
>>
>> ret = clk_bulk_get_all(dev, &devres->clks);
>> if (ret <= 0) {
>> devres_free(devres);
>> return ret;
>> }
>>
>> *clks = devres->clks;
>> devres->num_clks = ret;
>>
>> Even though this patch follows the pattern used by the rest of the APIs in the
>> driver, IMO above makes it more readable.
>>
> Since I have usually seen that maintainers suggest to maintain the coding style of the file, I followed the same.
> If you have a stronger reason to change this, please let me know
> Marek, Michael, Stephen please let us know what do you think about this?
I suggest to keep the same style as is used in the modified file (if it
doesn't conflict with the rules enforced by checkpatch and kernel's
coding style).
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists