Re: [PATCH v4] Input: synaptics-rmi4: Add F30 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry,

With the renewed interest in supporting SMBus with the Synaptics RMI4 driver I thought I would look into this again. I'm sorry for not responding to your comments sooner, especially since you took the time to read the F30 spec. Now that it has been over a year later we may need to essentially start over. But, this time I will make sure to follow up and hopefully not waste your time in the future.

On 07/27/2014 12:26 AM, Dmitry Torokhov wrote:
Hi Andrew,


On Thu, Jul 24, 2014 at 04:47:21PM -0700, Andrew Duggan wrote:
RMI4 Function 0x30 provides support for GPIOs, LEDs and mechanical
buttons.  In particular, the mechanical button support is used in
an increasing number of touchpads.

I was reading the spec for F30 and it looks to me that instead instead of basic
keymap it should actually implement a gpio chip plus LED devices (probably
later). Then, if GPIOs are indeed attached to buttons one can use standard
gpio_keys driver to create input device.

The most common use of F30 is handling input from the tact switch on clickpads. Since the tact switch is wired up to the touch controller, it's the touch controller that handles the GPIO. The touch controller then asserts attention to the host, which then issues reads to see what interrupted, and then reads the F30 data register to get the state of the GPIO. Would gpio chip work with this setup? After looking at gpio chip a little bit I'm not really seeing how that would work. It looks like to work with gpio_keys each button would need it's own irq? I couldn't find an example of a driver doing something similar, but if there is one could you point me to it?

For touchpad buttons we know based on convention which GPIOs represent which buttons. In the case of touchpads we can avoid creating a button map in the platform data. For touchpads we also want to report the input events for F30 from the same input device which is reporting finger data. Benjamin's patchset contains a patch which allows for a unified input device which will allow more then one function to use the same input device.

The F30 spec is fairly generic so it could be used for things besides the touchpad buttons and we might want to report events independently of finger position. However, besides touchpad LEDs I'm not sure F30 has ever been used for other applications in production so I'm not sure its worth implementing something more generic at this time.

Thanks.


Also, the fact that it took me over a year to reply to these comments highlights that we at Synaptics have been inconsistent in our effort to get the synaptics-rmi4 driver upstreamed. I think it's about time we have a single upstreamed driver which can support all of our RMI devices so I'm willing do more on behalf of Synaptics to help get it upstreamed.

Thanks,
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux