Do not register type setting callback if HW does not support setting the irq type. IRQ core can then handle cases where type setting is not supported and no regmap-irq specific handling is required.
Signed-off-by: Matti Vaittinen <matti.vaitti...@fi.rohmeurope.com> --- drivers/base/regmap/regmap-irq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c index d2d0014b0d23..a387ee499b5c 100644 --- a/drivers/base/regmap/regmap-irq.c +++ b/drivers/base/regmap/regmap-irq.c @@ -322,7 +322,6 @@ static const struct irq_chip regmap_irq_chip = { .irq_bus_sync_unlock = regmap_irq_sync_unlock, .irq_disable = regmap_irq_disable, .irq_enable = regmap_irq_enable, - .irq_set_type = regmap_irq_set_type, .irq_set_wake = regmap_irq_set_wake, }; @@ -560,6 +559,9 @@ int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags, d->chip = chip; d->irq_base = irq_base; + if (num_type_reg) + d->irq_chip.irq_set_type = regmap_irq_set_type; + if (chip->irq_reg_stride) d->irq_reg_stride = chip->irq_reg_stride; else -- 2.14.3 -- Matti Vaittinen ROHM Semiconductors ~~~ "I don't think so," said Rene Descartes. Just then, he vanished ~~~