Commit 027641b5 authored by Ferry Toth's avatar Ferry Toth Committed by Jonathan Cameron

iio: light: tsl2563: Do not hardcode interrupt trigger type

Instead of hardcoding IRQ trigger type to IRQF_TRIGGER_RAISING,
let's respect the settings specified in the firmware description.
To be compatible with the older firmware descriptions, if trigger
type is not set up there, we'll set it to default (raising edge).

Fixes: 388be488 ("staging:iio: tsl2563 abi fixes and interrupt handling")
Fixes: bdab1001 ("staging:iio:light:tsl2563 remove old style event registration.")
Signed-off-by: default avatarFerry Toth <ftoth@exalondelft.nl>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20221207190348.9347-1-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 22cd9320
......@@ -704,6 +704,7 @@ static int tsl2563_probe(struct i2c_client *client)
struct iio_dev *indio_dev;
struct tsl2563_chip *chip;
struct tsl2563_platform_data *pdata = client->dev.platform_data;
unsigned long irq_flags;
int err = 0;
u8 id = 0;
......@@ -759,10 +760,15 @@ static int tsl2563_probe(struct i2c_client *client)
indio_dev->info = &tsl2563_info_no_irq;
if (client->irq) {
irq_flags = irq_get_trigger_type(client->irq);
if (irq_flags == IRQF_TRIGGER_NONE)
irq_flags = IRQF_TRIGGER_RISING;
irq_flags |= IRQF_ONESHOT;
err = devm_request_threaded_irq(&client->dev, client->irq,
NULL,
&tsl2563_event_handler,
IRQF_TRIGGER_RISING | IRQF_ONESHOT,
irq_flags,
"tsl2563_event",
indio_dev);
if (err) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment