* [PATCH v2 0/2] fix drivers that consider 0 as a valid IRQ in client->irq
@ 2015-06-05 12:41 Octavian Purdila
2015-06-05 12:41 ` [PATCH v2 1/2] iio: " Octavian Purdila
2015-06-05 12:41 ` [PATCH v2 2/2] rtc: " Octavian Purdila
0 siblings, 2 replies; 4+ messages in thread
From: Octavian Purdila @ 2015-06-05 12:41 UTC (permalink / raw)
To: Linus Walleij
Cc: Mika Westerberg, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald, Alessandro Zummo,
Alexandre Belloni, Srinivas Pandruvada, linux-iio, rtc-linux,
linux-kernel, Octavian Purdila
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] https://lkml.org/lkml/2015/5/6/279
Changes since v1:
* remove the commit id as the referenced patch is not yet merged
* rephrased the subject line to be more descriptive
Octavian Purdila (2):
iio: fix drivers that consider 0 as a valid IRQ in client->irq
rtc: fix drivers that consider 0 as a valid IRQ in client->irq
drivers/iio/accel/bmc150-accel.c | 2 +-
drivers/iio/accel/kxcjk-1013.c | 2 +-
drivers/iio/accel/mma9553.c | 2 +-
drivers/iio/imu/kmx61.c | 8 ++++----
drivers/rtc/rtc-ds1374.c | 4 ++--
drivers/rtc/rtc-ds3232.c | 2 +-
6 files changed, 10 insertions(+), 10 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/2] iio: fix drivers that consider 0 as a valid IRQ in client->irq
2015-06-05 12:41 [PATCH v2 0/2] fix drivers that consider 0 as a valid IRQ in client->irq Octavian Purdila
@ 2015-06-05 12:41 ` Octavian Purdila
2015-06-05 12:41 ` [PATCH v2 2/2] rtc: " Octavian Purdila
1 sibling, 0 replies; 4+ messages in thread
From: Octavian Purdila @ 2015-06-05 12:41 UTC (permalink / raw)
To: Linus Walleij
Cc: Mika Westerberg, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald, Alessandro Zummo,
Alexandre Belloni, Srinivas Pandruvada, linux-iio, rtc-linux,
linux-kernel, Octavian Purdila
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] https://lkml.org/lkml/2015/5/6/279
Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
drivers/iio/accel/bmc150-accel.c | 2 +-
drivers/iio/accel/kxcjk-1013.c | 2 +-
drivers/iio/accel/mma9553.c | 2 +-
drivers/iio/imu/kmx61.c | 8 ++++----
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c
index 4e70f51..55751d9 100644
--- a/drivers/iio/accel/bmc150-accel.c
+++ b/drivers/iio/accel/bmc150-accel.c
@@ -1663,7 +1663,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,
diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
index 0d9bd35..aa93cbd 100644
--- a/drivers/iio/accel/kxcjk-1013.c
+++ b/drivers/iio/accel/kxcjk-1013.c
@@ -1243,7 +1243,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,
diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c
index 9d649c4..df043b3 100644
--- a/drivers/iio/accel/mma9553.c
+++ b/drivers/iio/accel/mma9553.c
@@ -1143,7 +1143,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,
diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c
index 462a010..82cdf50 100644
--- a/drivers/iio/imu/kmx61.c
+++ b/drivers/iio/imu/kmx61.c
@@ -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);
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] rtc: fix drivers that consider 0 as a valid IRQ in client->irq
2015-06-05 12:41 [PATCH v2 0/2] fix drivers that consider 0 as a valid IRQ in client->irq Octavian Purdila
2015-06-05 12:41 ` [PATCH v2 1/2] iio: " Octavian Purdila
@ 2015-06-05 12:41 ` Octavian Purdila
2015-06-05 12:54 ` Alexandre Belloni
1 sibling, 1 reply; 4+ messages in thread
From: Octavian Purdila @ 2015-06-05 12:41 UTC (permalink / raw)
To: Linus Walleij
Cc: Mika Westerberg, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald, Alessandro Zummo,
Alexandre Belloni, Srinivas Pandruvada, linux-iio, rtc-linux,
linux-kernel, Octavian Purdila
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] https://lkml.org/lkml/2015/5/6/279
Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
drivers/rtc/rtc-ds1374.c | 4 ++--
drivers/rtc/rtc-ds3232.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c
index 167783f..592458c 100644
--- a/drivers/rtc/rtc-ds1374.c
+++ b/drivers/rtc/rtc-ds1374.c
@@ -689,7 +689,7 @@ static int ds1374_suspend(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
- if (client->irq >= 0 && device_may_wakeup(&client->dev))
+ if (client->irq > 0 && device_may_wakeup(&client->dev))
enable_irq_wake(client->irq);
return 0;
}
@@ -698,7 +698,7 @@ static int ds1374_resume(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
- if (client->irq >= 0 && device_may_wakeup(&client->dev))
+ if (client->irq > 0 && device_may_wakeup(&client->dev))
disable_irq_wake(client->irq);
return 0;
}
diff --git a/drivers/rtc/rtc-ds3232.c b/drivers/rtc/rtc-ds3232.c
index 7e48e53..f280dd1 100644
--- a/drivers/rtc/rtc-ds3232.c
+++ b/drivers/rtc/rtc-ds3232.c
@@ -443,7 +443,7 @@ static int ds3232_remove(struct i2c_client *client)
{
struct ds3232 *ds3232 = i2c_get_clientdata(client);
- if (client->irq >= 0) {
+ if (client->irq > 0) {
mutex_lock(&ds3232->mutex);
ds3232->exiting = 1;
mutex_unlock(&ds3232->mutex);
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] rtc: fix drivers that consider 0 as a valid IRQ in client->irq
2015-06-05 12:41 ` [PATCH v2 2/2] rtc: " Octavian Purdila
@ 2015-06-05 12:54 ` Alexandre Belloni
0 siblings, 0 replies; 4+ messages in thread
From: Alexandre Belloni @ 2015-06-05 12:54 UTC (permalink / raw)
To: Octavian Purdila
Cc: Linus Walleij, Mika Westerberg, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald, Alessandro Zummo,
Srinivas Pandruvada, linux-iio, rtc-linux, linux-kernel
On 05/06/2015 at 15:41:58 +0300, Octavian Purdila wrote :
> 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] https://lkml.org/lkml/2015/5/6/279
>
lkml.org is not reliable and is currently losing messages. Like I
suggested, you should use the redirector at https://lkml.kernel.org/
That would be
http://lkml.kernel.org/g/<1430908148-201129-3-git-send-email-mika.westerberg@linux.intel.com>
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-05 12:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-05 12:41 [PATCH v2 0/2] fix drivers that consider 0 as a valid IRQ in client->irq Octavian Purdila
2015-06-05 12:41 ` [PATCH v2 1/2] iio: " Octavian Purdila
2015-06-05 12:41 ` [PATCH v2 2/2] rtc: " Octavian Purdila
2015-06-05 12:54 ` Alexandre Belloni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).