Re: [PATCH v4 8/8] PM / devfreq: exynos-bus: Register cooling device

From: Chanwoo Choi
Date: Tue Oct 17 2017 - 22:08:38 EST


Hi,

On 2017ë 10ì 18ì 00:11, MyungJoo Ham wrote:
> On Fri, Oct 13, 2017 at 4:48 PM, Chanwoo Choi <cw00.choi@xxxxxxxxxxx> wrote:
>> This patch registers the Exynos Bus-Frequency scaling device
>> as a cooling device of thermal management.
>>
>> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
>> Cc: Kukjin Kim <kgene@xxxxxxxxxx>
>> Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>> Cc: linux-samsung-soc@xxxxxxxxxxxxxxx
>> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>
> I've got a question below.
>
>> ---
>> drivers/devfreq/exynos-bus.c | 27 +++++++++++++++++++++++++++
>> 1 file changed, 27 insertions(+)
>>
>> diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c
>> index c25658b26598..1c7521b65c2f 100644
> []> @@ -468,6 +471,19 @@ static int exynos_bus_probe(struct
> platform_device *pdev)
>> goto err;
>> }
>>
>> + /*
>> + * Register devfreq cooling device if thermal DT code
>> + * takes care of matching them.
>> + */
>> + if (of_find_property(np, "#cooling-cells", NULL)) {
>> + bus->cdev = of_devfreq_cooling_register(np, bus->devfreq);
>> + if (IS_ERR(bus->cdev)) {
>> + dev_err(dev, "running exynos-bus without cooling device\n");
>> + bus->cdev = NULL;
>> + }
>> + }
>> + of_node_put(np);
>
> Is this of_node_put() is a pair of of_find_property? or for something else?
> (do you need to call put for of_find_property? or for something else?
> I'm not seeing a function with "get")

You're right. The of_node_put(np) call is unneeded.
Actually, the extcon-bus.c have to use the of_node_get instead of accessing
the 'dev->of_node' directly.

And, when I test this patch, I got a bug related to passive governor.
I need more time for debugging and redevelopment.
So, I'll drop this patch on next patchset (v5).

--
Best Regards,
Chanwoo Choi
Samsung Electronics