All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: "Enrico Weigelt, metux IT consult" <lkml@metux.net>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	"Enrico Weigelt, metux IT consult" <info@metux.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	virtualization@lists.linux-foundation.org,
	linux-riscv@lists.infradead.org
Subject: Re: Howto listen to/handle gpio state changes ? Re: [PATCH v2 2/2] drivers: gpio: add virtio-gpio guest driver
Date: Wed, 9 Dec 2020 09:51:30 +0100	[thread overview]
Message-ID: <CACRpkdbqVoT56H88hoZwDqV0kW_8XTaE5TkMQsg-RRrPqgF=cQ@mail.gmail.com> (raw)
In-Reply-To: <51d3efb7-b7eb-83d7-673a-308dd51616d3@metux.net>

On Tue, Dec 8, 2020 at 3:07 PM Enrico Weigelt, metux IT consult
<lkml@metux.net> wrote:

> I've been looking for some more direct notification callback for gpio
> consumers: here the consumer would register itself as a listener on
> some gpio_desc and called back when something changes (with data what
> exactly changed, eg. "gpio #3 input switched to high").
>
> Seems we currently just have the indirect path via interrupts.

I don't know how indirect it is, it seems pretty direct to me. The subsystem
was designed in response to how the hardware in front of the developers
worked.

So far we have had:
- Cascaded interrupts
- Dedicated (hieararchical) interrupts
- Message Signalled Interrupts

And if you now bring something else to the show then it's not like the
subsystem was designed for some abstract quality such as
generic notification of events that occurred, all practical instances
have been around actual IRQs and that is why it is using
struct irq_chip.

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.

Yours,
Linus Walleij

WARNING: multiple messages have this Message-ID (diff)
From: Linus Walleij <linus.walleij@linaro.org>
To: "Enrico Weigelt, metux IT consult" <lkml@metux.net>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	virtualization@lists.linux-foundation.org,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	linux-riscv@lists.infradead.org, "Enrico Weigelt,
	metux IT consult" <info@metux.net>
Subject: Re: Howto listen to/handle gpio state changes ? Re: [PATCH v2 2/2] drivers: gpio: add virtio-gpio guest driver
Date: Wed, 9 Dec 2020 09:51:30 +0100	[thread overview]
Message-ID: <CACRpkdbqVoT56H88hoZwDqV0kW_8XTaE5TkMQsg-RRrPqgF=cQ@mail.gmail.com> (raw)
In-Reply-To: <51d3efb7-b7eb-83d7-673a-308dd51616d3@metux.net>

On Tue, Dec 8, 2020 at 3:07 PM Enrico Weigelt, metux IT consult
<lkml@metux.net> wrote:

> I've been looking for some more direct notification callback for gpio
> consumers: here the consumer would register itself as a listener on
> some gpio_desc and called back when something changes (with data what
> exactly changed, eg. "gpio #3 input switched to high").
>
> Seems we currently just have the indirect path via interrupts.

I don't know how indirect it is, it seems pretty direct to me. The subsystem
was designed in response to how the hardware in front of the developers
worked.

So far we have had:
- Cascaded interrupts
- Dedicated (hieararchical) interrupts
- Message Signalled Interrupts

And if you now bring something else to the show then it's not like the
subsystem was designed for some abstract quality such as
generic notification of events that occurred, all practical instances
have been around actual IRQs and that is why it is using
struct irq_chip.

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.

Yours,
Linus Walleij

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Linus Walleij <linus.walleij@linaro.org>
To: "Enrico Weigelt, metux IT consult" <lkml@metux.net>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	virtualization@lists.linux-foundation.org,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	linux-riscv@lists.infradead.org, "Enrico Weigelt,
	metux IT consult" <info@metux.net>
Subject: Re: Howto listen to/handle gpio state changes ? Re: [PATCH v2 2/2] drivers: gpio: add virtio-gpio guest driver
Date: Wed, 9 Dec 2020 09:51:30 +0100	[thread overview]
Message-ID: <CACRpkdbqVoT56H88hoZwDqV0kW_8XTaE5TkMQsg-RRrPqgF=cQ@mail.gmail.com> (raw)
In-Reply-To: <51d3efb7-b7eb-83d7-673a-308dd51616d3@metux.net>

On Tue, Dec 8, 2020 at 3:07 PM Enrico Weigelt, metux IT consult
<lkml@metux.net> wrote:

> I've been looking for some more direct notification callback for gpio
> consumers: here the consumer would register itself as a listener on
> some gpio_desc and called back when something changes (with data what
> exactly changed, eg. "gpio #3 input switched to high").
>
> Seems we currently just have the indirect path via interrupts.

I don't know how indirect it is, it seems pretty direct to me. The subsystem
was designed in response to how the hardware in front of the developers
worked.

So far we have had:
- Cascaded interrupts
- Dedicated (hieararchical) interrupts
- Message Signalled Interrupts

And if you now bring something else to the show then it's not like the
subsystem was designed for some abstract quality such as
generic notification of events that occurred, all practical instances
have been around actual IRQs and that is why it is using
struct irq_chip.

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.

Yours,
Linus Walleij
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  parent reply	other threads:[~2020-12-09  8:53 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-03 19:11 [PATCH v2 1/2] drivers: gpio: put virtual gpio device into their own submenu Enrico Weigelt, metux IT consult
2020-12-03 19:11 ` Enrico Weigelt, metux IT consult
2020-12-03 19:11 ` [PATCH v2 2/2] drivers: gpio: add virtio-gpio guest driver Enrico Weigelt, metux IT consult
2020-12-03 19:11   ` Enrico Weigelt, metux IT consult
2020-12-04  3:35   ` Jason Wang
2020-12-04  3:35     ` Jason Wang
2020-12-04  3:35     ` Jason Wang
2020-12-04  9:36     ` Enrico Weigelt, metux IT consult
2020-12-04  9:36       ` Enrico Weigelt, metux IT consult
2020-12-07  3:48       ` Jason Wang
2020-12-07  3:48         ` Jason Wang
2020-12-07  3:48         ` Jason Wang
2020-12-07  9:33         ` Enrico Weigelt, metux IT consult
2020-12-07  9:33           ` Enrico Weigelt, metux IT consult
2020-12-08  2:49           ` Jason Wang
2020-12-08  2:49             ` Jason Wang
2020-12-08  2:49             ` Jason Wang
2021-04-13 11:07       ` Alex Bennée
2021-04-13 11:07         ` Alex Bennée
2021-04-13 11:07         ` Alex Bennée
2020-12-05  7:59     ` Enrico Weigelt, metux IT consult
2020-12-05  7:59       ` Enrico Weigelt, metux IT consult
2020-12-05 19:32       ` Michael S. Tsirkin
2020-12-05 19:32         ` Michael S. Tsirkin
2020-12-05 19:32         ` Michael S. Tsirkin
2020-12-05 20:05         ` Enrico Weigelt, metux IT consult
2020-12-05 20:05           ` Enrico Weigelt, metux IT consult
2020-12-07  3:16           ` Jason Wang
2020-12-07  3:16             ` Jason Wang
2020-12-07  3:16             ` Jason Wang
2020-12-07 13:52           ` Michael S. Tsirkin
2020-12-07 13:52             ` Michael S. Tsirkin
2020-12-07 13:52             ` Michael S. Tsirkin
2020-12-07 20:34             ` Enrico Weigelt, metux IT consult
2020-12-07 20:34               ` Enrico Weigelt, metux IT consult
2020-12-07  3:12         ` Jason Wang
2020-12-07  3:12           ` Jason Wang
2020-12-07  3:12           ` Jason Wang
2020-12-07 13:53           ` Michael S. Tsirkin
2020-12-07 13:53             ` Michael S. Tsirkin
2020-12-07 13:53             ` Michael S. Tsirkin
2020-12-08  2:36             ` Jason Wang
2020-12-08  2:36               ` Jason Wang
2020-12-08  2:36               ` Jason Wang
2020-12-08  7:02               ` Enrico Weigelt, metux IT consult
2020-12-08  7:02                 ` Enrico Weigelt, metux IT consult
2020-12-09  9:31                 ` Jason Wang
2020-12-09  9:31                   ` Jason Wang
2020-12-09  9:31                   ` Jason Wang
2020-12-09 10:33                   ` Enrico Weigelt, metux IT consult
2020-12-09 10:33                     ` Enrico Weigelt, metux IT consult
2020-12-08 10:10         ` Michal Suchánek
2020-12-08 10:10           ` Michal Suchánek
2020-12-08 12:33           ` Enrico Weigelt, metux IT consult
2020-12-08 12:33             ` Enrico Weigelt, metux IT consult
2020-12-09 10:34             ` Michal Suchánek
2020-12-09 10:34               ` Michal Suchánek
2020-12-05 20:15   ` Howto listen to/handle gpio state changes ? " Enrico Weigelt, metux IT consult
2020-12-05 20:15     ` Enrico Weigelt, metux IT consult
2020-12-08  9:38     ` Linus Walleij
2020-12-08  9:38       ` Linus Walleij
2020-12-08  9:38       ` Linus Walleij
2020-12-08 14:04       ` Enrico Weigelt, metux IT consult
2020-12-08 14:04         ` Enrico Weigelt, metux IT consult
2020-12-08 16:15         ` Grygorii Strashko
2020-12-08 16:15           ` Grygorii Strashko
2020-12-09  8:51         ` Linus Walleij [this message]
2020-12-09  8:51           ` Linus Walleij
2020-12-09  8:51           ` Linus Walleij
2020-12-09 11:19           ` Arnd Bergmann
2020-12-09 11:19             ` Arnd Bergmann
2020-12-09 12:53             ` Linus Walleij
2020-12-09 12:53               ` Linus Walleij
2020-12-09 12:53               ` Linus Walleij
2020-12-09 20:22               ` Grygorii Strashko
2020-12-09 20:22                 ` Grygorii Strashko
2020-12-09 20:38                 ` Arnd Bergmann
2020-12-09 20:38                   ` Arnd Bergmann
2020-12-10 13:32                   ` Grygorii Strashko
2020-12-10 13:32                     ` Grygorii Strashko
2021-05-24 11:27   ` Viresh Kumar
2021-05-24 11:27     ` Viresh Kumar
2021-05-25 12:59     ` Enrico Weigelt, metux IT consult
2021-05-25 12:59       ` Enrico Weigelt, metux IT consult
2021-05-26  3:32       ` Viresh Kumar
2021-05-26  3:32         ` Viresh Kumar
2021-07-03  8:05         ` Michael S. Tsirkin
2021-07-03  8:05           ` Michael S. Tsirkin
2021-07-03  8:05           ` Michael S. Tsirkin
2021-07-05  3:51           ` Viresh Kumar
2021-07-05  3:51             ` Viresh Kumar
2021-07-05  3:51             ` Viresh Kumar
2020-12-07  9:55 ` [PATCH v2 1/2] drivers: gpio: put virtual gpio device into their own submenu Andy Shevchenko
2020-12-07  9:55   ` Andy Shevchenko
2020-12-07  9:55   ` Andy Shevchenko
2020-12-07 10:31 ` Bartosz Golaszewski
2020-12-07 10:31   ` Bartosz Golaszewski
2020-12-07 11:22   ` Enrico Weigelt, metux IT consult
2020-12-07 11:22     ` Enrico Weigelt, metux IT consult

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACRpkdbqVoT56H88hoZwDqV0kW_8XTaE5TkMQsg-RRrPqgF=cQ@mail.gmail.com' \
    --to=linus.walleij@linaro.org \
    --cc=bgolaszewski@baylibre.com \
    --cc=corbet@lwn.net \
    --cc=info@metux.net \
    --cc=jasowang@redhat.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=lkml@metux.net \
    --cc=mst@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.