Re: [PATCH v4] reset: add support for non-DT systems

From: David Lechner
Date: Thu Feb 22 2018 - 11:44:44 EST


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.