On Fri, Jul 31, 2020 at 7:49 PM Daniel Campello <campello@xxxxxxxxxxxx> wrote: > > Fixes enable/disable irq handling at various points. The driver needs to > only enable/disable irqs if there is an actual irq handler installed. ... > static int sx9310_enable_irq(struct sx9310_data *data, unsigned int irq) > { > - return regmap_update_bits(data->regmap, SX9310_REG_IRQ_MSK, irq, irq); > + if (data->client->irq) > + return regmap_update_bits(data->regmap, SX9310_REG_IRQ_MSK, irq, > + irq); > + return 0; Wouldn't it be better to insert rather if (!irq) return 0; than disrupting the entire function? > } > > static int sx9310_disable_irq(struct sx9310_data *data, unsigned int irq) > { > - return regmap_update_bits(data->regmap, SX9310_REG_IRQ_MSK, irq, 0); > + if (data->client->irq) > + return regmap_update_bits(data->regmap, SX9310_REG_IRQ_MSK, irq, > + 0); > + return 0; Ditto. > } -- With Best Regards, Andy Shevchenko