diff options
Diffstat (limited to 'drivers/iio/accel/mma9551.c')
-rw-r--r-- | drivers/iio/accel/mma9551.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/iio/accel/mma9551.c b/drivers/iio/accel/mma9551.c index 46c38351c6a3..7db7cc0bf362 100644 --- a/drivers/iio/accel/mma9551.c +++ b/drivers/iio/accel/mma9551.c | |||
@@ -418,17 +418,18 @@ static int mma9551_gpio_probe(struct iio_dev *indio_dev) | |||
418 | struct device *dev = &data->client->dev; | 418 | struct device *dev = &data->client->dev; |
419 | 419 | ||
420 | for (i = 0; i < MMA9551_GPIO_COUNT; i++) { | 420 | for (i = 0; i < MMA9551_GPIO_COUNT; i++) { |
421 | gpio = devm_gpiod_get_index(dev, MMA9551_GPIO_NAME, i); | 421 | gpio = devm_gpiod_get_index(dev, MMA9551_GPIO_NAME, i, |
422 | GPIOD_IN); | ||
422 | if (IS_ERR(gpio)) { | 423 | if (IS_ERR(gpio)) { |
423 | dev_err(dev, "acpi gpio get index failed\n"); | 424 | dev_err(dev, "acpi gpio get index failed\n"); |
424 | return PTR_ERR(gpio); | 425 | return PTR_ERR(gpio); |
425 | } | 426 | } |
426 | 427 | ||
427 | ret = gpiod_direction_input(gpio); | 428 | ret = gpiod_to_irq(gpio); |
428 | if (ret) | 429 | if (ret < 0) |
429 | return ret; | 430 | return ret; |
430 | 431 | ||
431 | data->irqs[i] = gpiod_to_irq(gpio); | 432 | data->irqs[i] = ret; |
432 | ret = devm_request_threaded_irq(dev, data->irqs[i], | 433 | ret = devm_request_threaded_irq(dev, data->irqs[i], |
433 | NULL, mma9551_event_handler, | 434 | NULL, mma9551_event_handler, |
434 | IRQF_TRIGGER_RISING | IRQF_ONESHOT, | 435 | IRQF_TRIGGER_RISING | IRQF_ONESHOT, |