On 08.12.20 17:18, Grygorii Strashko wrote:
Having all GPIO drivers doing their IRQ management entirely through the
GPIO subsystem (eg. never calling generic_handle_irq() and using the
builtin
IRQ handling) would also allow a more direct (eg. callback-based)
pin change
notification for GPIO consumers, that doesn't involve registering
them as
generic IRQ handlers.
Above part makes me worry - why?
Why so ?
Little clarification, in case i've been a bit confusion - there're two
separate topics:
a) consolidating repeated patterns (eg. calling the actual irq handling)
into gpiolib, (and later possibly use more fields already existing in
struct gpio_chip for irq handling)
b) a direct consumer callback for change, where the consumer doesn't
have to care about IRQs at all (some drivers could even do polling,
when hw doesn't have IRQs). This is for consumers that don't use
GPIOs as interrupt source, but more more like a very raw serial port,
eg. bitbanging of other interfaces (maybe an gpio bus type ? ;-))
The above paragraph just outlines that b) might be much easier to
implement, once the suggested refactoring is done and no driver would
call irq handlers directly anymore. But this hasn't much to do with
the proposal itself, just an idea for future use.
--mtx