Hi Maxime, On Mon, May 15, 2023 at 01:54:41PM +0200, Maxime Ripard wrote: > 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 The order was correct before this patch. I don't think an incorrect order should be intorduced, even if temporarily between two patches. regards, o. > Maxime