[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4E382DF1.9000206@cam.ac.uk>
Date: Tue, 02 Aug 2011 18:03:45 +0100
From: Jonathan Cameron <jic23@....ac.uk>
To: Ben Dooks <bjdooks@...glemail.com>
CC: linux-iio@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: uses of irq_to_gpio() in drivers/staging/iio
On 08/02/11 17:43, Ben Dooks wrote:
> Whilst looking in drivers/staging/iio/accel/lis3l02dq_core.c, I
> came across the following lines of code
>
> 708 if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) {
> 709 ret = request_threaded_irq(st->us->irq,
> 710 &lis3l02dq_th,
> 711 &lis3l02dq_event_handler,
> 712 IRQF_TRIGGER_RISING,
> 713 "lis3l02dq",
> 714 indio_dev);
>
> Which gives rise to the following questions:
>
> 1) IRQ0 and GPIO0 are often valid numbers for GPIOs.
Good point - should fix that one. Any suggestions for a neat way
to do it?
>
> 2) Not all interrupts are necessarily GPIO interrupts. What happens
> if the device is attached to a hardware interrupt line which is
> not a GPIO?
>
Easy. It doesn't work. Stupid hardware doesn't necessarily drop
the interrupt line on a read. Hence it sticks high. If one only has
edge triggered interrupt lines that's a pain. Is there an easy way
around this? When I wrote the relevant code a long time ago I couldn't
get anything else to work.
There may well be a better way but I haven't revisited this recently.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists