Re: [PATCH] soc: samsung: pm_domains: Convert to regular platform driver

From: Marek Szyprowski
Date: Thu Jan 14 2021 - 14:04:23 EST


Hi Saravana,

On 13.01.2021 21:27, Saravana Kannan wrote:
> On Wed, Jan 13, 2021 at 3:03 AM Marek Szyprowski
> <m.szyprowski@xxxxxxxxxxx> wrote:
>> When Exynos power domain driver was introduced, the only way to ensure
>> that power domains will be instantiated before the devices which belongs
>> to them was to initialize them early enough, before the devices are
>> instantiated in the system. This in turn required not to use any platform
>> device infrastructure at all, as there have been no way to ensure proper
>> probe order between devices.
>>
>> This has been finally changed and patch e590474768f1 ("driver core: Set
>> fw_devlink=on by default") ensures that each device will be probbed only
>> when its resource providers are ready. This allows to convert Exynos
>> power domain driver to regular platform driver.
>>
>> This is also required by the mentioned commit to enable probing any
>> device which belongs to the Exynos power domains, as otherwise the core
>> won't notice that the power domains are in fact available.
>>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
>> ---
>> Some more comments are in the following thread:
>> https://protect2.fireeye.com/v1/url?k=8ac052ac-d55b6ba4-8ac1d9e3-0cc47a31c8b4-9068b559b0fd155d&q=1&e=b393c3ff-16ba-48a4-9d72-6805d02971d5&u=https%3A%2F%2Flore.kernel.org%2Flkml%2F2556a69b-5da5-bf80-e051-df2d02fbc40f%40samsung.com%2F
>> ---
>> ...
> Skimmed through this patch and at a high level, it looks good for what
> it's trying to do. Thanks for doing this!
>
> Btw, I assume that this won't work with fw_devlink=off/permissive
> (default since 5.10 or earlier)? My concern is that we might
> temporarily set fw_devlink=permissive by default if the other
> breakages aren't fixed in time for 5.12? How do you want to handle that?

I've applied my patch on top of vanilla v5.10 and checked on my test
boards. Surprisingly everything works fine, so something must have been
changed during the last few years as the power domain driver in the
current form has been written long time ago. I remember that the moment
when platform devices are created from the of nodes has been change at
some point, so maybe this is somehow related. Anyway, the platform
driver for Exynos power domains registered from core_initcall works fine
with v5.10 kernel.

I have no strong opinion on the way of merging this fix. It can go via
Samsung tree, so in the end the v5.12-rc1 will have both my fix and your
change, but won't be fully bisectable in-between. Krzysztof, what's your
opinion?

Best regards

--
Marek Szyprowski, PhD
Samsung R&D Institute Poland