]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mfd: cs42l43: Remove IRQ masking in suspend
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Wed, 3 Sep 2025 09:45:49 +0000 (10:45 +0100)
committerLee Jones <lee@kernel.org>
Wed, 1 Oct 2025 09:28:56 +0000 (10:28 +0100)
Now the individual child drivers mask their own IRQs there is no need
for the MFD code to do so anymore.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20250903094549.271068-7-ckeepax@opensource.cirrus.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/cs42l43.c

index 959298c8232f458d362fc040a92e0d76d16960a6..107cfb983fec416bbdd31caa1e6a569026467735 100644 (file)
@@ -1117,24 +1117,6 @@ EXPORT_SYMBOL_NS_GPL(cs42l43_dev_probe, "MFD_CS42L43");
 static int cs42l43_suspend(struct device *dev)
 {
        struct cs42l43 *cs42l43 = dev_get_drvdata(dev);
-       static const struct reg_sequence mask_all[] = {
-               { CS42L43_DECIM_MASK,                   0xFFFFFFFF, },
-               { CS42L43_EQ_MIX_MASK,                  0xFFFFFFFF, },
-               { CS42L43_ASP_MASK,                     0xFFFFFFFF, },
-               { CS42L43_PLL_MASK,                     0xFFFFFFFF, },
-               { CS42L43_SOFT_MASK,                    0xFFFFFFFF, },
-               { CS42L43_SWIRE_MASK,                   0xFFFFFFFF, },
-               { CS42L43_MSM_MASK,                     0xFFFFFFFF, },
-               { CS42L43_ACC_DET_MASK,                 0xFFFFFFFF, },
-               { CS42L43_I2C_TGT_MASK,                 0xFFFFFFFF, },
-               { CS42L43_SPI_MSTR_MASK,                0xFFFFFFFF, },
-               { CS42L43_SW_TO_SPI_BRIDGE_MASK,        0xFFFFFFFF, },
-               { CS42L43_OTP_MASK,                     0xFFFFFFFF, },
-               { CS42L43_CLASS_D_AMP_MASK,             0xFFFFFFFF, },
-               { CS42L43_GPIO_INT_MASK,                0xFFFFFFFF, },
-               { CS42L43_ASRC_MASK,                    0xFFFFFFFF, },
-               { CS42L43_HPOUT_MASK,                   0xFFFFFFFF, },
-       };
        int ret;
 
        ret = pm_runtime_resume_and_get(dev);
@@ -1143,14 +1125,6 @@ static int cs42l43_suspend(struct device *dev)
                return ret;
        }
 
-       /* The IRQs will be re-enabled on resume by the cache sync */
-       ret = regmap_multi_reg_write_bypassed(cs42l43->regmap,
-                                             mask_all, ARRAY_SIZE(mask_all));
-       if (ret) {
-               dev_err(cs42l43->dev, "Failed to mask IRQs: %d\n", ret);
-               return ret;
-       }
-
        disable_irq(cs42l43->irq);
 
        ret = pm_runtime_force_suspend(dev);