Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Charles Keepax and committed by
Lee Jones
afe0f949 62aec8a0

-26
-26
drivers/mfd/cs42l43.c
··· 1117 1117 static int cs42l43_suspend(struct device *dev) 1118 1118 { 1119 1119 struct cs42l43 *cs42l43 = dev_get_drvdata(dev); 1120 - static const struct reg_sequence mask_all[] = { 1121 - { CS42L43_DECIM_MASK, 0xFFFFFFFF, }, 1122 - { CS42L43_EQ_MIX_MASK, 0xFFFFFFFF, }, 1123 - { CS42L43_ASP_MASK, 0xFFFFFFFF, }, 1124 - { CS42L43_PLL_MASK, 0xFFFFFFFF, }, 1125 - { CS42L43_SOFT_MASK, 0xFFFFFFFF, }, 1126 - { CS42L43_SWIRE_MASK, 0xFFFFFFFF, }, 1127 - { CS42L43_MSM_MASK, 0xFFFFFFFF, }, 1128 - { CS42L43_ACC_DET_MASK, 0xFFFFFFFF, }, 1129 - { CS42L43_I2C_TGT_MASK, 0xFFFFFFFF, }, 1130 - { CS42L43_SPI_MSTR_MASK, 0xFFFFFFFF, }, 1131 - { CS42L43_SW_TO_SPI_BRIDGE_MASK, 0xFFFFFFFF, }, 1132 - { CS42L43_OTP_MASK, 0xFFFFFFFF, }, 1133 - { CS42L43_CLASS_D_AMP_MASK, 0xFFFFFFFF, }, 1134 - { CS42L43_GPIO_INT_MASK, 0xFFFFFFFF, }, 1135 - { CS42L43_ASRC_MASK, 0xFFFFFFFF, }, 1136 - { CS42L43_HPOUT_MASK, 0xFFFFFFFF, }, 1137 - }; 1138 1120 int ret; 1139 1121 1140 1122 ret = pm_runtime_resume_and_get(dev); 1141 1123 if (ret) { 1142 1124 dev_err(cs42l43->dev, "Failed to resume for suspend: %d\n", ret); 1143 - return ret; 1144 - } 1145 - 1146 - /* The IRQs will be re-enabled on resume by the cache sync */ 1147 - ret = regmap_multi_reg_write_bypassed(cs42l43->regmap, 1148 - mask_all, ARRAY_SIZE(mask_all)); 1149 - if (ret) { 1150 - dev_err(cs42l43->dev, "Failed to mask IRQs: %d\n", ret); 1151 1125 return ret; 1152 1126 } 1153 1127