iio: fix drivers that consider 0 as a valid IRQ in client->irq
authorOctavian Purdila <octavian.purdila@intel.com>
Fri, 5 Jun 2015 13:59:42 +0000 (16:59 +0300)
committerJonathan Cameron <jic23@kernel.org>
Thu, 23 Jul 2015 19:23:11 +0000 (20:23 +0100)
Since patch "i2c / ACPI: Use 0 to indicate that device does not have
interrupt assigned" [1], 0 is not a valid i2c client irq anymore, so
change all driver's checks accordingly.

The same issue occurs when the device is instantiated via device tree
with no IRQ, or from the i2c sysfs interface, even before the patch
above.

[1] http://lkml.kernel.org/g/<1430908148-201129-3-git-send-email-mika.westerberg@linux.intel.com>

Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/accel/bmc150-accel.c
drivers/iio/accel/kxcjk-1013.c
drivers/iio/accel/mma9553.c
drivers/iio/imu/kmx61.c

index 47c6013ab37622b0d8c7ae9b0b32549aab98660c..21b665fc0739fc58468ad5e7ded31f082de585f1 100644 (file)
@@ -1670,7 +1670,7 @@ static int bmc150_accel_probe(struct i2c_client *client,
        if (client->irq < 0)
                client->irq = bmc150_accel_gpio_probe(client, data);
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                ret = devm_request_threaded_irq(
                                                &client->dev, client->irq,
                                                bmc150_accel_irq_handler,
index 8128579bff795956b6a688d4b93a848d018657bc..3292bc0c1d0ef9ea7595c1a4e02effa2dc5c3248 100644 (file)
@@ -1240,7 +1240,7 @@ static int kxcjk1013_probe(struct i2c_client *client,
        if (client->irq < 0)
                client->irq = kxcjk1013_gpio_probe(client, data);
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                ret = devm_request_threaded_irq(&client->dev, client->irq,
                                                kxcjk1013_data_rdy_trig_poll,
                                                kxcjk1013_event_handler,
index a605280637e933ccacd0d07917b8054904634bba..771858cb67a1b57db5472576ecb0656b7d282884 100644 (file)
@@ -1149,7 +1149,7 @@ static int mma9553_probe(struct i2c_client *client,
        if (client->irq < 0)
                client->irq = mma9553_gpio_probe(client);
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                ret = devm_request_threaded_irq(&client->dev, client->irq,
                                                mma9553_irq_handler,
                                                mma9553_event_handler,
index 462a010628cd52421458ab113f19b45ec58bf4d2..82cdf5090fa776b1bd0bea6ce570416782d996a9 100644 (file)
@@ -1363,7 +1363,7 @@ static int kmx61_probe(struct i2c_client *client,
        if (client->irq < 0)
                client->irq = kmx61_gpio_probe(client, data);
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                ret = devm_request_threaded_irq(&client->dev, client->irq,
                                                kmx61_data_rdy_trig_poll,
                                                kmx61_event_handler,
@@ -1445,10 +1445,10 @@ err_iio_unregister_mag:
 err_iio_unregister_acc:
        iio_device_unregister(data->acc_indio_dev);
 err_buffer_cleanup_mag:
-       if (client->irq >= 0)
+       if (client->irq > 0)
                iio_triggered_buffer_cleanup(data->mag_indio_dev);
 err_buffer_cleanup_acc:
-       if (client->irq >= 0)
+       if (client->irq > 0)
                iio_triggered_buffer_cleanup(data->acc_indio_dev);
 err_trigger_unregister_motion:
        iio_trigger_unregister(data->motion_trig);
@@ -1472,7 +1472,7 @@ static int kmx61_remove(struct i2c_client *client)
        iio_device_unregister(data->acc_indio_dev);
        iio_device_unregister(data->mag_indio_dev);
 
-       if (client->irq >= 0) {
+       if (client->irq > 0) {
                iio_triggered_buffer_cleanup(data->acc_indio_dev);
                iio_triggered_buffer_cleanup(data->mag_indio_dev);
                iio_trigger_unregister(data->acc_dready_trig);
This page took 0.029067 seconds and 5 git commands to generate.