Quoting Satya Priya Kakitapalli (Temp) (2024-04-04 23:27:29) > > On 3/2/2024 9:43 PM, Bryan O'Donoghue wrote: > > > > Alternatively switch on the always-on clocks before the really_probe() > > but then roll back in a probe_err: goto > > > > probe_err: > > remap_bits_update(regmap, 0xc1e4, BIT(0), 0); > > pm_runtime_put_sync(&pdev->dev); > > > > There may be corner cases where always-on has to happen before > > really_probe() I suppose but as a general pattern the above should be > > how we go. > > > > I have rechecked this and see that this clock is PoR ON (i.e BIT(0) is > set upon power ON) and it should be kept always ON as per HW > recommendation. So even if the probe fails we shouldn't be clearing it > against the hw recommendation. We are setting the bit here again to make > sure it is set when the driver probes. > Yes, always on clks should always be on. We don't turn them off if the driver fails to probe. We should probably print a warning or something if the register write fails, but since this is mmio it won't fail, so just make sure they're on and move on.