Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3547e5bd authored by Cristian Ciocaltea's avatar Cristian Ciocaltea Committed by Greg Kroah-Hartman
Browse files

ASoC: es8316: Handle optional IRQ assignment



[ Upstream commit 39db65a0a17b54915b269d3685f253a4731f344c ]

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 dab472eb ("i2c /
ACPI: Use 0 to indicate that device does not have interrupt assigned").

Fixes: 82225766 ("ASoC: es8316: Add jack-detect support")
Signed-off-by: default avatarCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230328094901.50763-1-cristian.ciocaltea@collabora.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 9650d5a1
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -806,6 +806,7 @@ static int es8316_i2c_probe(struct i2c_client *i2c_client,
	es8316->irq = i2c_client->irq;
	mutex_init(&es8316->lock);

	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);
@@ -813,6 +814,7 @@ static int es8316_i2c_probe(struct i2c_client *i2c_client,
			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,
				      &soc_component_dev_es8316,