linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] i2c: mv64xxx: Remove shutdown method from driver
@ 2022-03-25 18:06 Chris Morgan
  2022-05-21  6:26 ` Wolfram Sang
  0 siblings, 1 reply; 3+ messages in thread
From: Chris Morgan @ 2022-03-25 18:06 UTC (permalink / raw)
  To: linux-i2c; +Cc: gregory.clement, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

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>
---
 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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] i2c: mv64xxx: Remove shutdown method from driver
  2022-03-25 18:06 [PATCH] i2c: mv64xxx: Remove shutdown method from driver Chris Morgan
@ 2022-05-21  6:26 ` Wolfram Sang
  2022-05-25 13:42   ` Gregory CLEMENT
  0 siblings, 1 reply; 3+ messages in thread
From: Wolfram Sang @ 2022-05-21  6:26 UTC (permalink / raw)
  To: Chris Morgan; +Cc: linux-i2c, gregory.clement, Chris Morgan

[-- Attachment #1: Type: text/plain, Size: 1006 bytes --]

On Fri, Mar 25, 2022 at 01:06:25PM -0500, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> 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>

Gregory? Looks reasonable to me.


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] i2c: mv64xxx: Remove shutdown method from driver
  2022-05-21  6:26 ` Wolfram Sang
@ 2022-05-25 13:42   ` Gregory CLEMENT
  0 siblings, 0 replies; 3+ messages in thread
From: Gregory CLEMENT @ 2022-05-25 13:42 UTC (permalink / raw)
  To: Wolfram Sang, Chris Morgan; +Cc: linux-i2c, Chris Morgan

Wolfram Sang <wsa@kernel.org> writes:

> On Fri, Mar 25, 2022 at 01:06:25PM -0500, Chris Morgan wrote:
>> From: Chris Morgan <macromorgan@hotmail.com>
>> 
>> 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>
>
> Gregory? Looks reasonable to me.

Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>

Thanks,

Gregory


-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-25 13:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-25 18:06 [PATCH] i2c: mv64xxx: Remove shutdown method from driver Chris Morgan
2022-05-21  6:26 ` Wolfram Sang
2022-05-25 13:42   ` Gregory CLEMENT

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).