diff options
| author | Charles Keepax <ckeepax@opensource.cirrus.com> | 2025-09-03 10:45:49 +0100 |
|---|---|---|
| committer | Lee Jones <lee@kernel.org> | 2025-10-01 10:28:56 +0100 |
| commit | afe0f94992dbe6cc6a38fdb2c8ed2f0f265e3e6e (patch) | |
| tree | 5409b8572d5881284041b32d735835004b6743bf /drivers/mfd | |
| parent | mfd: cs42l43: Move IRQ enable/disable to encompass force suspend (diff) | |
| download | linux-afe0f94992dbe6cc6a38fdb2c8ed2f0f265e3e6e.tar.gz linux-afe0f94992dbe6cc6a38fdb2c8ed2f0f265e3e6e.zip | |
mfd: cs42l43: Remove IRQ masking in suspend
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>
Diffstat (limited to 'drivers/mfd')
| -rw-r--r-- | drivers/mfd/cs42l43.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/drivers/mfd/cs42l43.c b/drivers/mfd/cs42l43.c index 959298c8232f..107cfb983fec 100644 --- a/drivers/mfd/cs42l43.c +++ b/drivers/mfd/cs42l43.c @@ -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); |
