mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2024-11-16 18:28:23 +01:00
ce4a0294c3
For details please see: https://github.com/linux-sunxi/meta-sunxi/issues/397 Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
From 09b343038e3470e4d0da45f0ee09fb42107e5314 Mon Sep 17 00:00:00 2001
|
|
From: Chris Morgan <macromorgan@hotmail.com>
|
|
Date: Fri, 25 Mar 2022 13:06:25 -0500
|
|
Subject: [PATCH] i2c: mv64xxx: Remove shutdown method from driver
|
|
|
|
When I attempt to shut down (or reboot) my R8 based NTC CHIP with this
|
|
i2c driver I get the following error: "i2c i2c-0: mv64xxx: I2C bus
|
|
locked, block: 1, time_left: 0". Reboots are successful but shutdowns
|
|
freeze. If I comment out the shutdown routine the device both reboots
|
|
and shuts down successfully without receiving this error (however it
|
|
does receive a warning of missing atomic_xfer).
|
|
|
|
It appears that very few i2c drivers have a shutdown method, I assume
|
|
because these devices are often used to communicate with PMICs (such
|
|
as in my case with the R8 based NTC CHIP). I'm proposing we simply
|
|
remove this method so long as it doesn't cause trouble for others
|
|
downstream. I'll work on an atomic_xfer method and submit that in
|
|
a different patch.
|
|
|
|
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
|
|
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
|
Signed-off-by: Wolfram Sang <wsa@kernel.org>
|
|
---
|
|
drivers/i2c/busses/i2c-mv64xxx.c | 9 ---------
|
|
1 file changed, 9 deletions(-)
|
|
|
|
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
|
|
index 5c8e94b6cdb5..424c53e4c513 100644
|
|
--- a/drivers/i2c/busses/i2c-mv64xxx.c
|
|
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
|
|
@@ -1047,14 +1047,6 @@ mv64xxx_i2c_remove(struct platform_device *pd)
|
|
return 0;
|
|
}
|
|
|
|
-static void
|
|
-mv64xxx_i2c_shutdown(struct platform_device *pd)
|
|
-{
|
|
- pm_runtime_disable(&pd->dev);
|
|
- if (!pm_runtime_status_suspended(&pd->dev))
|
|
- mv64xxx_i2c_runtime_suspend(&pd->dev);
|
|
-}
|
|
-
|
|
static const struct dev_pm_ops mv64xxx_i2c_pm_ops = {
|
|
SET_RUNTIME_PM_OPS(mv64xxx_i2c_runtime_suspend,
|
|
mv64xxx_i2c_runtime_resume, NULL)
|
|
@@ -1065,7 +1057,6 @@ static const struct dev_pm_ops mv64xxx_i2c_pm_ops = {
|
|
static struct platform_driver mv64xxx_i2c_driver = {
|
|
.probe = mv64xxx_i2c_probe,
|
|
.remove = mv64xxx_i2c_remove,
|
|
- .shutdown = mv64xxx_i2c_shutdown,
|
|
.driver = {
|
|
.name = MV64XXX_I2C_CTLR_NAME,
|
|
.pm = &mv64xxx_i2c_pm_ops,
|
|
--
|
|
2.25.1
|
|
|