Skip to content
Snippets Groups Projects
Commit 6a6e5d8b authored by Dietmar Muscholik's avatar Dietmar Muscholik Committed by Dmitry Petrov
Browse files

drivers:mfd:rohm-bd718x7.c: interrupts made optional

On some modules the interrupt of the bd718x7 is not connected to anything,
but the PMIC functionality is needed anyway. For such modules it would be
helpfull if the probe function succeeds without an interrupt configured.

Ported from seco-ne/kernel/linux-imx-kuk!442 (f1e987f5)
parent 3b06167d
No related branches found
No related tags found
No related merge requests found
......@@ -139,7 +139,7 @@ static int bd718xx_i2c_probe(struct i2c_client *i2c,
int cells;
if (!i2c->irq) {
dev_err(&i2c->dev, "No IRQ configured\n");
dev_info(&i2c->dev, "No IRQ configured\n");
return -EINVAL;
}
......@@ -174,30 +174,34 @@ static int bd718xx_i2c_probe(struct i2c_client *i2c,
return PTR_ERR(bd718xx->chip.regmap);
}
ret = devm_regmap_add_irq_chip(&i2c->dev, bd718xx->chip.regmap,
bd718xx->chip_irq, IRQF_ONESHOT, 0,
&bd718xx_irq_chip, &bd718xx->irq_data);
if (ret) {
dev_err(&i2c->dev, "Failed to add irq_chip\n");
return ret;
if (i2c->irq) {
ret = devm_regmap_add_irq_chip(&i2c->dev, bd718xx->chip.regmap,
bd718xx->chip_irq, IRQF_ONESHOT, 0,
&bd718xx_irq_chip, &bd718xx->irq_data);
if (ret) {
dev_err(&i2c->dev, "Failed to add irq_chip\n");
return ret;
}
}
ret = bd718xx_init_press_duration(bd718xx);
if (ret)
return ret;
ret = regmap_irq_get_virq(bd718xx->irq_data, BD718XX_INT_PWRBTN_S);
if (i2c->irq) {
ret = regmap_irq_get_virq(bd718xx->irq_data, BD718XX_INT_PWRBTN_S);
if (ret < 0) {
dev_err(&i2c->dev, "Failed to get the IRQ\n");
return ret;
}
if (ret < 0) {
dev_err(&i2c->dev, "Failed to get the IRQ\n");
return ret;
}
button.irq = ret;
button.irq = ret;
}
ret = devm_mfd_add_devices(bd718xx->chip.dev, PLATFORM_DEVID_AUTO,
mfd, cells, NULL, 0,
regmap_irq_get_domain(bd718xx->irq_data));
i2c->irq ? regmap_irq_get_domain(bd718xx->irq_data) : NULL);
if (ret)
dev_err(&i2c->dev, "Failed to create subdevices\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment