Hi, On Sun, May 14, 2023 at 08:46:05PM +0200, Christophe JAILLET wrote: > Should an error occur after calling sun8i_ths_resource_init() in the probe > function, some resources need to be released, as already done in the > .remove() function. > > Switch to the devm_clk_get_enabled() helper and add a new devm_action to > turn sun8i_ths_resource_init() into a fully managed function. > > Move the place where reset_control_deassert() is called so that the > recommended order of reset release/clock enable steps is kept. > A64 manual states that: > > 3.3.6.4. Gating and reset > > Make sure that the reset signal has been released before the release of > module clock gating; > > This fixes the issue and removes some LoC at the same time. It should really be three different patches: - One to fix the resource release, that can be backported to stable releases - One to switch to devm_clk_get_enabled - and one to change the order of clock enable vs reset deassertion Maxime