Hi, On 16/08/17 16:11, Philipp Zabel wrote: > On Wed, 2017-08-16 at 14:12 +0200, Andreas Färber wrote: >> Hi Andre, >> >> Am 16.08.2017 um 13:30 schrieb Andre Przywara: >>> On 16/08/17 10:46, Philipp Zabel wrote: >>>> +/** >>>> + * struct reset_simple_devdata - simple reset controller properties >>>> + * @active_low: if true, bits are cleared to assert the reset. Otherwise, >>>> bits >>>> + * are set to assert the reset. >>>> + */ >>>> +struct reset_simple_devdata { >>>>>>> + bool active_low; >>>> +}; >>>> + >>>> +static const struct reset_simple_devdata reset_simple_active_low = { >>>>>>> + .active_low = true, >>>> +}; >>>> + >>>> +static const struct of_device_id reset_simple_dt_ids[] = { >>>>>>> + { .compatible = "allwinner,sun6i-a31-clock-reset", >>>> + .data = &reset_simple_active_low }, >>> >>> Can we have a additional generic compatible string here? New users of >>> this driver then wouldn't need to explicitly enter their name into the >>> driver, but could just use the generic name as a fallback. This would >>> enable the driver without any Linux code change just by adding a DT node. >>> >>> compatible = "nexell,s5p6818-reset", "simple-reset"; >>> >>> Whenever we need a quirk (now or in the future), we can add the specific >>> name into this structure along with the required workarounds. >> >> Same question about binding here. However the way it is done today, we >> would also need some optional active-low property then or two different >> compatible strings, as this is currently controlled via the DT matches. > > I'd like to decouple this from the issue at hand, which is de- > duplicating simple reset code without device tree changes.
Agreed, this is an orthogonal issue, actually being enabled by this series. > I'll make a separate suggestion for a simple binding on top of this > series. Thanks! Happy to review it. I actually have a user at hand already ... Cheers, Andre.