openwrt/target/linux/mediatek/patches-5.15/844-v5.18-i2c-mediatek-remove-redundant-null-check.patch
Daniel Golle 213b728276 mediatek: cleanly backport and add fix for I2C driver
Pick accepted patches from upstream Linux tree instead of having to
maintain our slightly different downstream patches.
Import pending patch fixing I2C on MT7981 by making sure all clocks
are enabled before accessing I2C registers.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-05-27 02:06:57 +01:00

42 lines
1.2 KiB
Diff

From eb4a2ae019815946f574cd9f8209e12bdcd8fd34 Mon Sep 17 00:00:00 2001
From: Xu Wang <vulab@iscas.ac.cn>
Date: Wed, 30 Sep 2020 08:42:33 +0000
Subject: [PATCH 05/16] i2c: mediatek: remove redundant null check
Because clk_disable_unprepare already checked NULL clock parameter,
so the additional checks are unnecessary, just remove it
Signed-off-by: Xu Wang <vulab@iscas.ac.cn>
Reviewed-by: Qii Wang <qii.wang@mediatek.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
---
drivers/i2c/busses/i2c-mt65xx.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
--- a/drivers/i2c/busses/i2c-mt65xx.c
+++ b/drivers/i2c/busses/i2c-mt65xx.c
@@ -476,8 +476,7 @@ static int mtk_i2c_clock_enable(struct m
return 0;
err_arb:
- if (i2c->have_pmic)
- clk_disable_unprepare(i2c->clk_pmic);
+ clk_disable_unprepare(i2c->clk_pmic);
err_pmic:
clk_disable_unprepare(i2c->clk_main);
err_main:
@@ -488,11 +487,9 @@ err_main:
static void mtk_i2c_clock_disable(struct mtk_i2c *i2c)
{
- if (i2c->clk_arb)
- clk_disable_unprepare(i2c->clk_arb);
+ clk_disable_unprepare(i2c->clk_arb);
- if (i2c->have_pmic)
- clk_disable_unprepare(i2c->clk_pmic);
+ clk_disable_unprepare(i2c->clk_pmic);
clk_disable_unprepare(i2c->clk_main);
clk_disable_unprepare(i2c->clk_dma);