Thread (41 messages) 41 messages, 12 authors, 2021-07-05

Re: Howto listen to/handle gpio state changes ? Re: [PATCH v2 2/2] drivers: gpio: add virtio-gpio guest driver

From: Arnd Bergmann <arnd@kernel.org>
Date: 2020-12-09 11:21:38
Also in: linux-gpio, linux-riscv, lkml

On Wed, Dec 9, 2020 at 9:51 AM Linus Walleij [off-list ref] wrote:
On Tue, Dec 8, 2020 at 3:07 PM Enrico Weigelt, metux IT consult [off-list ref] wrote:
What we need to understand is if your new usecase is an outlier
so it is simplest modeled by a "mock" irq_chip or we have to design
something new altogether like notifications on changes. I suspect
irq_chip would be best because all drivers using GPIOs for interrupts
are expecting interrupts, and it would be an enormous task to
change them all and really annoying to create a new mechanism
on the side.
I would expect the platform abstraction to actually be close enough
to a chained irqchip that it actually works: the notification should
come in via vring_interrupt(), which is a normal interrupt handler
that calls vq->vq.callback(), calling generic_handle_irq() (and
possibly chained_irq_enter()/chained_irq_exit() around it) like the
other gpio drivers do should just work here I think, and if it did
not, then I would expect this to be just a bug in the driver rather
than something missing in the gpio framework.

       Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help