Re: [PATCH 22/26] Input: synaptics-rmi4 - Add F30 support

From: Linus Walleij
Date: Tue Nov 10 2015 - 03:52:46 EST


On Mon, Nov 9, 2015 at 11:54 PM, Andrew Duggan <aduggan@xxxxxxxxxxxxx> wrote:

> F30 is currently only used in touchpads and mostly used to report the the
> click of the tact switch on clickpads. When the GPIO interrupts we report
> the appropriate button event to the host. Because the GPIOs are wired to our
> ASIC and not to the host I'm not sure there is any benefit to exposing it to
> the host using gpio_chip.
>
> Dmitry asked a similar question and here is my response to him:
> http://www.spinics.net/lists/linux-input/msg40458.html

So I think this is basically a terminology problem. There are some lines
here that the firmware calls "GPIO" (GENERAL PURPOSE input/output)
but in practice it really doesn't mean that, right?

In practice this thing is not randomly connected to doorbells, relays,
I2C bitbanged buses or whatnot. It is connected to certain keys,
and it is used for input. So it is not GPIO at all, but special purpose
input. No output.

Then it should be contained totally inside the RMI4 driver and connect
directly to the input layer.

It doesn't matter if the Synaptics firmware and/or internal documentation
calls it GPIO, if it walks and talks and acts like a duck it is a duck.
So register an input device for it and dispatch input events and be
happy.

For LEDs it makes more sense to actually register with the LEDs
subsystem as it is clearly output-only.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/