From: Samuel Holland Date: Mon, 13 Nov 2023 02:32:45 +0000 (-0800) Subject: i2c: ocores: Move system PM hooks to the NOIRQ phase X-Git-Tag: v6.6.17~2259 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=22a59e51ded2d02dd146d140389e31796327ac63;p=platform%2Fkernel%2Flinux-rpi.git i2c: ocores: Move system PM hooks to the NOIRQ phase [ Upstream commit 382561d16854a747e6df71034da08d20d6013dfe ] When an I2C device contains a wake IRQ subordinate to a regmap-irq chip, the regmap-irq code must be able to perform I2C transactions during suspend_device_irqs() and resume_device_irqs(). Therefore, the bus must be suspended/resumed during the NOIRQ phase. Signed-off-by: Samuel Holland Acked-by: Peter Korsgaard Reviewed-by: Andi Shyti Signed-off-by: Wolfram Sang Signed-off-by: Sasha Levin --- diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c index 041a76f..e106af8 100644 --- a/drivers/i2c/busses/i2c-ocores.c +++ b/drivers/i2c/busses/i2c-ocores.c @@ -771,8 +771,8 @@ static int ocores_i2c_resume(struct device *dev) return ocores_init(dev, i2c); } -static DEFINE_SIMPLE_DEV_PM_OPS(ocores_i2c_pm, - ocores_i2c_suspend, ocores_i2c_resume); +static DEFINE_NOIRQ_DEV_PM_OPS(ocores_i2c_pm, + ocores_i2c_suspend, ocores_i2c_resume); static struct platform_driver ocores_i2c_driver = { .probe = ocores_i2c_probe,