2020-04-10 02:47:05 +00:00
|
|
|
From c35124bc3fc5f9f2a79815721db139e5bf186391 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Dong Aisheng <aisheng.dong@nxp.com>
|
|
|
|
Date: Thu, 26 Sep 2019 21:00:55 +0800
|
|
|
|
Subject: [PATCH] i2c: imx: get rid of CONFIG_ARCH_LAYERSCAPE
|
|
|
|
|
|
|
|
We can't use CONFIG_ARCH_LAYERSCAPE for one Image multiple platforms
|
|
|
|
support.
|
|
|
|
|
|
|
|
Reviewed-by: Biwen Li <biwen.li@nxp.com>
|
|
|
|
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
|
|
|
|
---
|
|
|
|
drivers/i2c/busses/i2c-imx.c | 13 ++++++-------
|
|
|
|
1 file changed, 6 insertions(+), 7 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/i2c/busses/i2c-imx.c
|
|
|
|
+++ b/drivers/i2c/busses/i2c-imx.c
|
kernel: bump 5.4 to 5.4.83
Manually merged:
layerscape/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch
layerscape/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch
Remaining modifications made by update_kernel.sh
Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86/64 [*],
ramips/mt7621 [*], ath79/tiny [*], ipq40xx [*], octeon [*],
realtek [*]
Run-tested: ipq806x/R7800, ramips/mt7621 [*], octeon [*], realtek [*]
No dmesg regressions, everything functional
Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
2020-12-11 15:34:41 +00:00
|
|
|
@@ -1426,13 +1426,12 @@ static int i2c_imx_probe(struct platform
|
2020-04-10 02:47:05 +00:00
|
|
|
i2c_imx, IMX_I2C_I2CR);
|
|
|
|
imx_i2c_write_reg(i2c_imx->hwdata->i2sr_clr_opcode, i2c_imx, IMX_I2C_I2SR);
|
|
|
|
|
|
|
|
-#ifdef CONFIG_ARCH_LAYERSCAPE
|
|
|
|
- /* Init optional bus recovery for layerscape */
|
|
|
|
- ret = i2c_imx_init_recovery_for_layerscape(i2c_imx, pdev);
|
|
|
|
-#else
|
|
|
|
- /* Init optional bus recovery function */
|
|
|
|
- ret = i2c_imx_init_recovery_info(i2c_imx, pdev);
|
|
|
|
-#endif
|
|
|
|
+ /* Init optional bus recovery */
|
|
|
|
+ if (of_match_node(pinmux_of_match, pdev->dev.of_node))
|
|
|
|
+ ret = i2c_imx_init_recovery_for_layerscape(i2c_imx, pdev);
|
|
|
|
+ else
|
|
|
|
+ ret = i2c_imx_init_recovery_info(i2c_imx, pdev);
|
|
|
|
+
|
|
|
|
/* Give it another chance if pinctrl used is not ready yet */
|
|
|
|
if (ret == -EPROBE_DEFER)
|
|
|
|
goto clk_notifier_unregister;
|