RE: [PATCH 03/11] i2c: imx-lpi2c: add ipg clk for lpi2c driver
From: Aisheng Dong <aisheng.dong@nxp.com>
Date: 2021-03-19 09:19:03
Also in:
linux-i2c, lkml
quoted
quoted
+ + lpi2c_imx->clk_ipg = devm_clk_get(&pdev->dev, "ipg"); + if (IS_ERR(lpi2c_imx->clk_ipg)) { + dev_err(&pdev->dev, "can't get I2C ipg clock\n"); + return PTR_ERR(lpi2c_imx->clk_ipg); }Will this break exist dts?It will not break the build. But will break the lpi2c probe for imx7ulp and imx8qxp/qm. I will send two patches to update dts in V2.
Please don't break exist platforms. Regards Aisheng
Best Regards, Clark Wangquoted
Regards Aishengquoted
ret = of_property_read_u32(pdev->dev.of_node,@@ -633,7 +640,8 @@ static int __maybe_unusedlpi2c_runtime_suspend(struct device *dev) { struct lpi2c_imx_struct *lpi2c_imx = dev_get_drvdata(dev); - clk_disable_unprepare(lpi2c_imx->clk); + clk_disable_unprepare(lpi2c_imx->clk_ipg); + clk_disable_unprepare(lpi2c_imx->clk_per); pinctrl_pm_select_idle_state(dev); return 0;@@ -645,12 +653,18 @@ static int __maybe_unusedlpi2c_runtime_resume(struct device *dev) int ret; pinctrl_pm_select_default_state(dev); - ret = clk_prepare_enable(lpi2c_imx->clk); + ret = clk_prepare_enable(lpi2c_imx->clk_per); if (ret) { - dev_err(dev, "can't enable I2C clock, ret=%d\n", ret); + dev_err(dev, "can't enable I2C per clock, ret=%d\n", ret); return ret; } + ret = clk_prepare_enable(lpi2c_imx->clk_ipg); + if (ret) { + clk_disable_unprepare(lpi2c_imx->clk_per); + dev_err(dev, "can't enable I2C ipg clock, ret=%d\n", ret); + } + return ret; } -- 2.25.1
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel