Message ID | 20220325180625.31414-1-macroalpha82@gmail.com |
---|---|
State | New |
Headers | show |
Series | i2c: mv64xxx: Remove shutdown method from driver | expand |
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.
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,