mirror of https://github.com/torvalds/linux.git
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>
This commit is contained in:
parent
62aec8a0a5
commit
afe0f94992
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue