Hi Philipp, On 01 July 2022 16:40 Philipp Zabel wrote: > On Do, 2022-06-30 at 15:16 +0000, Phil Edworthy wrote: > > In order for drivers to work on lots of platforms, should all drivers > > use devm_reset_control_get_shared() instead of devm_reset_control_get(), > > unless there is a need to reset the hardware at a specific time after > > boot (e.g. watchdog with no way out)? > > Nobody should use devm_reset_control_get(). Those drivers that require > direct control should use devm_reset_control_get_exclusive(). All > others probably should use the _shared() variant, if it works for them. Ok, got it! > > So where do we go with this for this i2c driver? > > In this specific case letting the driver deassert the reset seems to be > safe, so I'm fine with the way it is. > > You could also let the i2c driver call reset_control_assert() during > remove() and modify the rzg2l-cpg.c driver to ignore it. That doesn't > seem very useful on its own, but it would have the positive effect of > documenting the shared-with-firmware reset in the reset controller > driver. Ok, I'll skip the assert for the time being and when we get round to making the reset controller mask out shared resets, we can then modify the i2c driver. Thanks for your advice, Phil