The devm_clk_get_enabled() helpers: - call devm_clk_get() - call clk_prepare_enable() and register what is needed in order to call clk_disable_unprepare() when needed, as a managed resource. This simplifies the code and avoids the calls to clk_disable_unprepare(). While at it, no need to save clk pointer, drop sclk from struct em_i2c_device. Rong Qianfeng (3): i2c: emev2: Use devm_clk_get_enabled() helpers i2c: emev2: Drop sclk from struct em_i2c_device i2c: jz4780: Use devm_clk_get_enabled() helpers drivers/i2c/busses/i2c-emev2.c | 23 +++++++---------------- drivers/i2c/busses/i2c-jz4780.c | 21 ++++++--------------- 2 files changed, 13 insertions(+), 31 deletions(-) -- 2.39.0