On Mon, 6 May 2024 at 11:03, Andi Shyti <andi.shyti@xxxxxxxxxx> wrote: > > Hi Christophe, > > On Sat, Jan 06, 2024 at 01:48:24PM +0100, Christophe JAILLET wrote: > > If an error occurs after the clk_prepare_enable() call, it should be undone > > by a corresponding clk_disable_unprepare() call, as already done in the > > remove() function. > > > > As devm_clk_get() is used, we can switch to devm_clk_get_enabled() to > > handle it automatically and fix the probe. > > > > Update the remove() function accordingly and remove the now useless > > clk_disable_unprepare() call. > > > > Fixes: 0d676a6c4390 ("i2c: add support for Socionext SynQuacer I2C controller") > > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> > > Applied to i2c/i2c-host-fixes. > These patches should be reverted: ACPI boot on SynQuacer based systems now fails with [ 6.206022] synquacer_i2c SCX0003:00: error -ENOENT: failed to get and enable clock [ 6.235762] synquacer_i2c SCX0003:00: probe with driver synquacer_i2c failed with error -2 as in this case, there is no clock to enable, and the clock rate is specified in the PRP0001 device node.