mfd: intel_soc_pmic_crc: Use devm_regmap_add_irq_chip()
Use devm_regmap_add_irq_chip() to simplify the code. While at it, replace -1 magic parameter by PLATFORM_DEVID_NONE when calling mfd_add_devices(). Note, the mfd_add_devices() left in non-devm variant here due to potentially increased churn while wrapping pwm_remove_table(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Lee Jones <lee@kernel.org> Link: https://lore.kernel.org/r/20220801114211.36267-4-andriy.shevchenko@linux.intel.com
This commit is contained in:
Родитель
81f22f284c
Коммит
cae02b7a5d
|
@ -189,10 +189,9 @@ static int intel_soc_pmic_i2c_probe(struct i2c_client *i2c,
|
|||
|
||||
pmic->irq = i2c->irq;
|
||||
|
||||
ret = regmap_add_irq_chip(pmic->regmap, pmic->irq,
|
||||
config->irq_flags | IRQF_ONESHOT,
|
||||
0, config->irq_chip,
|
||||
&pmic->irq_chip_data);
|
||||
ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq,
|
||||
config->irq_flags | IRQF_ONESHOT,
|
||||
0, config->irq_chip, &pmic->irq_chip_data);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
@ -207,26 +206,17 @@ static int intel_soc_pmic_i2c_probe(struct i2c_client *i2c,
|
|||
irq_domain_update_bus_token(regmap_irq_get_domain(pmic->irq_chip_data),
|
||||
DOMAIN_BUS_NEXUS);
|
||||
|
||||
ret = mfd_add_devices(dev, -1, config->cell_dev,
|
||||
ret = mfd_add_devices(dev, PLATFORM_DEVID_NONE, config->cell_dev,
|
||||
config->n_cell_devs, NULL, 0,
|
||||
regmap_irq_get_domain(pmic->irq_chip_data));
|
||||
if (ret)
|
||||
goto err_del_irq_chip;
|
||||
pwm_remove_table(crc_pwm_lookup, ARRAY_SIZE(crc_pwm_lookup));
|
||||
|
||||
return 0;
|
||||
|
||||
err_del_irq_chip:
|
||||
pwm_remove_table(crc_pwm_lookup, ARRAY_SIZE(crc_pwm_lookup));
|
||||
regmap_del_irq_chip(pmic->irq, pmic->irq_chip_data);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int intel_soc_pmic_i2c_remove(struct i2c_client *i2c)
|
||||
{
|
||||
struct intel_soc_pmic *pmic = dev_get_drvdata(&i2c->dev);
|
||||
|
||||
regmap_del_irq_chip(pmic->irq, pmic->irq_chip_data);
|
||||
|
||||
/* remove crc-pwm lookup table */
|
||||
pwm_remove_table(crc_pwm_lookup, ARRAY_SIZE(crc_pwm_lookup));
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче