diff options
author | Irina Tirdea <irina.tirdea@intel.com> | 2016-03-24 05:05:09 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-04-03 05:27:48 -0400 |
commit | fb12b6c725a3936bedaa7fac87432f0ad0d01599 (patch) | |
tree | 7cb0c0435c70d2e001aacd8ed949299555e20d79 | |
parent | b1532909decca12e0527473870cec1d57677f916 (diff) |
iio: remove gpio interrupt probing from drivers that use a single interrupt
Commit 845c877009cf014b ("i2c / ACPI: Assign IRQ for devices that have
GpioInt automatically") automatically assigns the first ACPI GPIO
interrupt in client->irq, so we can remove the probing code from
drivers that use only one interrupt.
Commit 0f0796509c07c1c7 ("iio: remove gpio interrupt probing from drivers
that use a single interrupt") removes gpio interrupt probing from most
drivers. This patch cleans the remaining ones.
Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | drivers/iio/accel/mxc4005.c | 29 | ||||
-rw-r--r-- | drivers/iio/gyro/bmg160_core.c | 28 |
2 files changed, 0 insertions, 57 deletions
diff --git a/drivers/iio/accel/mxc4005.c b/drivers/iio/accel/mxc4005.c index e72e218c2696..c23f47af7256 100644 --- a/drivers/iio/accel/mxc4005.c +++ b/drivers/iio/accel/mxc4005.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/i2c.h> | 17 | #include <linux/i2c.h> |
18 | #include <linux/iio/iio.h> | 18 | #include <linux/iio/iio.h> |
19 | #include <linux/acpi.h> | 19 | #include <linux/acpi.h> |
20 | #include <linux/gpio/consumer.h> | ||
21 | #include <linux/regmap.h> | 20 | #include <linux/regmap.h> |
22 | #include <linux/iio/sysfs.h> | 21 | #include <linux/iio/sysfs.h> |
23 | #include <linux/iio/trigger.h> | 22 | #include <linux/iio/trigger.h> |
@@ -380,31 +379,6 @@ static const struct iio_trigger_ops mxc4005_trigger_ops = { | |||
380 | .owner = THIS_MODULE, | 379 | .owner = THIS_MODULE, |
381 | }; | 380 | }; |
382 | 381 | ||
383 | static int mxc4005_gpio_probe(struct i2c_client *client, | ||
384 | struct mxc4005_data *data) | ||
385 | { | ||
386 | struct device *dev; | ||
387 | struct gpio_desc *gpio; | ||
388 | int ret; | ||
389 | |||
390 | if (!client) | ||
391 | return -EINVAL; | ||
392 | |||
393 | dev = &client->dev; | ||
394 | |||
395 | gpio = devm_gpiod_get_index(dev, "mxc4005_int", 0, GPIOD_IN); | ||
396 | if (IS_ERR(gpio)) { | ||
397 | dev_err(dev, "failed to get acpi gpio index\n"); | ||
398 | return PTR_ERR(gpio); | ||
399 | } | ||
400 | |||
401 | ret = gpiod_to_irq(gpio); | ||
402 | |||
403 | dev_dbg(dev, "GPIO resource, no:%d irq:%d\n", desc_to_gpio(gpio), ret); | ||
404 | |||
405 | return ret; | ||
406 | } | ||
407 | |||
408 | static int mxc4005_chip_init(struct mxc4005_data *data) | 382 | static int mxc4005_chip_init(struct mxc4005_data *data) |
409 | { | 383 | { |
410 | int ret; | 384 | int ret; |
@@ -470,9 +444,6 @@ static int mxc4005_probe(struct i2c_client *client, | |||
470 | return ret; | 444 | return ret; |
471 | } | 445 | } |
472 | 446 | ||
473 | if (client->irq < 0) | ||
474 | client->irq = mxc4005_gpio_probe(client, data); | ||
475 | |||
476 | if (client->irq > 0) { | 447 | if (client->irq > 0) { |
477 | data->dready_trig = devm_iio_trigger_alloc(&client->dev, | 448 | data->dready_trig = devm_iio_trigger_alloc(&client->dev, |
478 | "%s-dev%d", | 449 | "%s-dev%d", |
diff --git a/drivers/iio/gyro/bmg160_core.c b/drivers/iio/gyro/bmg160_core.c index 43570b8f686d..2493bb17a03d 100644 --- a/drivers/iio/gyro/bmg160_core.c +++ b/drivers/iio/gyro/bmg160_core.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/slab.h> | 18 | #include <linux/slab.h> |
19 | #include <linux/acpi.h> | 19 | #include <linux/acpi.h> |
20 | #include <linux/gpio/consumer.h> | ||
21 | #include <linux/pm.h> | 20 | #include <linux/pm.h> |
22 | #include <linux/pm_runtime.h> | 21 | #include <linux/pm_runtime.h> |
23 | #include <linux/iio/iio.h> | 22 | #include <linux/iio/iio.h> |
@@ -31,7 +30,6 @@ | |||
31 | #include "bmg160.h" | 30 | #include "bmg160.h" |
32 | 31 | ||
33 | #define BMG160_IRQ_NAME "bmg160_event" | 32 | #define BMG160_IRQ_NAME "bmg160_event" |
34 | #define BMG160_GPIO_NAME "gpio_int" | ||
35 | 33 | ||
36 | #define BMG160_REG_CHIP_ID 0x00 | 34 | #define BMG160_REG_CHIP_ID 0x00 |
37 | #define BMG160_CHIP_ID_VAL 0x0F | 35 | #define BMG160_CHIP_ID_VAL 0x0F |
@@ -954,29 +952,6 @@ static const struct iio_buffer_setup_ops bmg160_buffer_setup_ops = { | |||
954 | .postdisable = bmg160_buffer_postdisable, | 952 | .postdisable = bmg160_buffer_postdisable, |
955 | }; | 953 | }; |
956 | 954 | ||
957 | static int bmg160_gpio_probe(struct bmg160_data *data) | ||
958 | |||
959 | { | ||
960 | struct device *dev; | ||
961 | struct gpio_desc *gpio; | ||
962 | |||
963 | dev = data->dev; | ||
964 | |||
965 | /* data ready gpio interrupt pin */ | ||
966 | gpio = devm_gpiod_get_index(dev, BMG160_GPIO_NAME, 0, GPIOD_IN); | ||
967 | if (IS_ERR(gpio)) { | ||
968 | dev_err(dev, "acpi gpio get index failed\n"); | ||
969 | return PTR_ERR(gpio); | ||
970 | } | ||
971 | |||
972 | data->irq = gpiod_to_irq(gpio); | ||
973 | |||
974 | dev_dbg(dev, "GPIO resource, no:%d irq:%d\n", desc_to_gpio(gpio), | ||
975 | data->irq); | ||
976 | |||
977 | return 0; | ||
978 | } | ||
979 | |||
980 | static const char *bmg160_match_acpi_device(struct device *dev) | 955 | static const char *bmg160_match_acpi_device(struct device *dev) |
981 | { | 956 | { |
982 | const struct acpi_device_id *id; | 957 | const struct acpi_device_id *id; |
@@ -1022,9 +997,6 @@ int bmg160_core_probe(struct device *dev, struct regmap *regmap, int irq, | |||
1022 | indio_dev->modes = INDIO_DIRECT_MODE; | 997 | indio_dev->modes = INDIO_DIRECT_MODE; |
1023 | indio_dev->info = &bmg160_info; | 998 | indio_dev->info = &bmg160_info; |
1024 | 999 | ||
1025 | if (data->irq <= 0) | ||
1026 | bmg160_gpio_probe(data); | ||
1027 | |||
1028 | if (data->irq > 0) { | 1000 | if (data->irq > 0) { |
1029 | ret = devm_request_threaded_irq(dev, | 1001 | ret = devm_request_threaded_irq(dev, |
1030 | data->irq, | 1002 | data->irq, |