rtc: isl1208: do not advertise update interrupt feature if no interrupt specified
If an ISL1208 device does not have an interrupt line routed, the feature shouldn't be advertised (it is by default in rtc core) or it'll confuse userspace requesting that feature (such as hwclock from util-linux). Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20220523145320.123713-1-foss+kernel@0leil.net
This commit is contained in:
parent
139682400a
commit
2023c5c8fe
|
@ -880,10 +880,14 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
if (client->irq > 0)
|
if (client->irq > 0) {
|
||||||
rc = isl1208_setup_irq(client, client->irq);
|
rc = isl1208_setup_irq(client, client->irq);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, isl1208->rtc->features);
|
||||||
|
}
|
||||||
|
|
||||||
if (evdet_irq > 0 && evdet_irq != client->irq)
|
if (evdet_irq > 0 && evdet_irq != client->irq)
|
||||||
rc = isl1208_setup_irq(client, evdet_irq);
|
rc = isl1208_setup_irq(client, evdet_irq);
|
||||||
|
|
Loading…
Reference in New Issue