Re: [PATCH 2/2] i2c: mt7621: make device_reset optional

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il 05/07/24 00:16, Lorenzo Bianconi ha scritto:
Rely on device_reset_optional() instead of device_reset() in
mtk_i2c_reset routine since Airoha EN7581 reset controller does not
implement the reset callback and device reset is not mandatory on this

Not mandatory means that the reset line for I2C exists, but you don't want
to use it? If so, that's not right.

On the other hand, if there is an issue with using that reset line and you
want to avoid using it for a good reason, please describe it into the commit
description and - in that case, you'll have to add a EN7581 compatible and
code to avoid calling device_reset() on that SoC.

What you're doing here is removing an error log on SoCs that do *need* that
reset line to be in place, so, hiding a problem that could be causing other
issues on peripherals connected to the I2C bus of those other SoCs.

Cheers,
Angelo

SoC. This will remove the following log:

i2c-mt7621 1fbf8000.i2c0: I2C reset failed!

Tested-by: Ray Liu <ray.liu@xxxxxxxxxx>
Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
---
  drivers/i2c/busses/i2c-mt7621.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt7621.c
index 81d46169bc1f..8cd89a2f59df 100644
--- a/drivers/i2c/busses/i2c-mt7621.c
+++ b/drivers/i2c/busses/i2c-mt7621.c
@@ -85,7 +85,7 @@ static void mtk_i2c_reset(struct mtk_i2c *i2c)
  {
  	int ret;
- ret = device_reset(i2c->adap.dev.parent);
+	ret = device_reset_optional(i2c->adap.dev.parent);
  	if (ret)
  		dev_err(i2c->dev, "I2C reset failed!\n");






[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux