lkml.org 
[lkml]   [2013]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 2/3] hwmon: (lm90) add support to handle IRQ
Hi Wei,

I'm hitting a problem with that patch now...

On Wed, 7 Aug 2013 14:18:25 +0800, Wei Ni wrote:
> When the temperature exceed the limit range value,
> the driver can handle the interrupt.
>
> Signed-off-by: Wei Ni <wni@nvidia.com>
> ---
> drivers/hwmon/lm90.c | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c
> index 1da2eff..2e68773 100644
> --- a/drivers/hwmon/lm90.c
> +++ b/drivers/hwmon/lm90.c
> @@ -89,6 +89,7 @@
> #include <linux/err.h>
> #include <linux/mutex.h>
> #include <linux/sysfs.h>
> +#include <linux/interrupt.h>
>
> /*
> * Addresses to scan
> @@ -1433,6 +1434,16 @@ static bool lm90_is_tripped(struct i2c_client *client)
> return true;
> }
>
> +static irqreturn_t lm90_irq_thread(int irq, void *dev_id)
> +{
> + struct i2c_client *client = dev_id;
> +
> + if (lm90_is_tripped(client))

Did you really send the latest version of the patch? lm90_is_tripped()
takes two arguments now, but here you only pass one.

If you have a more up-to-date version of this patch, please send it
over quickly.

> + return IRQ_HANDLED;
> + else
> + return IRQ_NONE;
> +}
> +
> static int lm90_probe(struct i2c_client *client,
> const struct i2c_device_id *id)
> {
> @@ -1509,6 +1520,18 @@ static int lm90_probe(struct i2c_client *client,
> goto exit_remove_files;
> }
>
> + if (client->irq) {
> + dev_dbg(dev, "IRQ: %d\n", client->irq);
> + err = devm_request_threaded_irq(dev, client->irq,
> + NULL, lm90_irq_thread,
> + IRQF_TRIGGER_LOW | IRQF_ONESHOT,
> + "lm90", client);
> + if (err < 0) {
> + dev_err(dev, "cannot request IRQ: %d\n", client->irq);
> + goto exit_remove_files;
> + }
> + }
> +
> return 0;
>
> exit_remove_files:


--
Jean Delvare


\
 
 \ /
  Last update: 2013-11-04 11:01    [W:0.113 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site