Re: [PATCH v4] reset: add support for non-DT systems
From: Bartosz Golaszewski
Date: Fri Feb 23 2018 - 06:41:51 EST
2018-02-22 17:44 GMT+01:00 David Lechner <david@xxxxxxxxxxxxxx>:
> On 02/22/2018 05:34 AM, Philipp Zabel wrote:
>>
>> On Tue, 2018-02-20 at 10:40 -0600, David Lechner wrote:
>> [...]
>>>>
>>>> In your case the platform code that adds the lookup may be identical to
>>>> the code that registers the struct reset_controller_dev, but that
>>>> doesn't have to be the case. I'm not sure how that is supposed to work
>>>> for the phy framework (I see no platform code adding phy lookups, only
>>>> drivers).
>>>>
>>> In our use case, we would be adding the lookup in the driver rather than
>>> in the platform code, which is why I am suggesting doing it like the phy
>>> framework.
>>
>>
>> Shouldn't it be the job of the platform code to describe the connections
>> between reset controller and peripheral module reset
>> inputs?
>
>
>
> I guess that depends on who you ask. There are many clock driver that
> register clkdev lookups in drivers/clk/, so that is what we have done
> with the clock driver we are working on. The clock device is also the
> reset controller, so it makes sense to me to register the reset lookup
> in the same place that we are registering the clkdev lookup.
>
> We have a platform_device_id for each possible configuration, so that
> it works very much like the device tree compatible string. You register
> a platform device in the board file with the proper name and the driver
> takes care of the reset because it knows which connections there are
> based on the device name.
I sent another attempt. Since the in-progress psc driver has all the
clocks in the driver code, it makes sense to do the same for resets.
Bart