Hi, On 3/28/23 11:49, Cristian Ciocaltea wrote: > The driver is able to work fine without relying on a mandatory interrupt > being assigned to the I2C device. This is only needed when making use of > the jack-detect support. > > However, the following warning message is always emitted when there is > no such interrupt available: > > es8316 0-0011: Failed to get IRQ 0: -22 > > Do not attempt to request an IRQ if it is not available/valid. This also > ensures the rather misleading message is not displayed anymore. > > Also note the IRQ validation relies on commit dab472eb931bc291 ("i2c / > ACPI: Use 0 to indicate that device does not have interrupt assigned"). > > Fixes: 822257661031 ("ASoC: es8316: Add jack-detect support") > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@xxxxxxxxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > --- > sound/soc/codecs/es8316.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c > index 056c3082fe02..f7d7a9c91e04 100644 > --- a/sound/soc/codecs/es8316.c > +++ b/sound/soc/codecs/es8316.c > @@ -842,12 +842,14 @@ static int es8316_i2c_probe(struct i2c_client *i2c_client) > es8316->irq = i2c_client->irq; > mutex_init(&es8316->lock); > > - ret = devm_request_threaded_irq(dev, es8316->irq, NULL, es8316_irq, > - IRQF_TRIGGER_HIGH | IRQF_ONESHOT | IRQF_NO_AUTOEN, > - "es8316", es8316); > - if (ret) { > - dev_warn(dev, "Failed to get IRQ %d: %d\n", es8316->irq, ret); > - es8316->irq = -ENXIO; > + if (es8316->irq > 0) { > + ret = devm_request_threaded_irq(dev, es8316->irq, NULL, es8316_irq, > + IRQF_TRIGGER_HIGH | IRQF_ONESHOT | IRQF_NO_AUTOEN, > + "es8316", es8316); > + if (ret) { > + dev_warn(dev, "Failed to get IRQ %d: %d\n", es8316->irq, ret); > + es8316->irq = -ENXIO; > + } > } > > return devm_snd_soc_register_component(&i2c_client->dev,