Messages in this thread | | | Subject | Re: [PATCH v4] reset: add support for non-DT systems | From | David Lechner <> | Date | Thu, 22 Feb 2018 10:44:45 -0600 |
| |
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.
| |