All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Duggan <aduggan@synaptics.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org,
	Christopher Heiny <cheiny@synaptics.com>,
	Vincent Huang <vincent.huang@tw.synaptics.com>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	Jiri Kosina <jkosina@suse.cz>
Subject: Re: [PATCH v4] Input: synaptics-rmi4: Add F30 support
Date: Fri, 7 Aug 2015 17:36:51 -0700	[thread overview]
Message-ID: <55C54F23.2020306@synaptics.com> (raw)
In-Reply-To: <20140727072624.GA15556@core.coreip.homeip.net>

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

  reply	other threads:[~2015-08-08  0:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-24 23:47 [PATCH v4] Input: synaptics-rmi4: Add F30 support Andrew Duggan
2014-07-27  7:26 ` Dmitry Torokhov
2015-08-08  0:36   ` Andrew Duggan [this message]
2015-08-13 16:38     ` Dmitry Torokhov
2015-08-13 17:40       ` Andrew Duggan

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=55C54F23.2020306@synaptics.com \
    --to=aduggan@synaptics.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=cheiny@synaptics.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=vincent.huang@tw.synaptics.com \
    /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.