Re: [PATCH 1/1] input: keyboard: Set configuration registers
From: Stephen Warren
Date: Tue Mar 27 2012 - 11:22:44 EST
On 03/26/2012 11:17 PM, Shridhar Rasal wrote:
> On 02/01/2012 01:17 AM, Dmitry Torokhov wrote:
>> On Tue, Jan 31, 2012 at 11:29:35AM -0800, Stephen Warren wrote:
>>> Dmitry Torokhov wrote at Tuesday, January 31, 2012 12:09 PM:
>>>> On Thu, Dec 29, 2011 at 07:25:59PM -0800, Dmitry Torokhov wrote:
>>>>> On Fri, Dec 09, 2011 at 03:17:54PM -0800, Stephen Warren wrote:
>>>>>> Dmitry Torokhov wrote at Friday, December 09, 2011 2:25 PM:
>>>>>>> On Friday, December 09, 2011 12:10:43 PM Stephen Warren wrote:
>>>>>>>> Shridhar Rasal wrote at Friday, December 09, 2011 12:29 AM:
>>>>>>>>> To: dmitry.torokhov@xxxxxxxxx
>>>>>>>>> Cc: rydberg@xxxxxxxxxxx; Stephen Warren; Rakesh Iyer;
>>>>>>>>> linux-kernel@xxxxxxxxxxxxxxx; linux- input@xxxxxxxxxxxxxxx;
>>>>>>>>> linux-tegra@xxxxxxxxxxxxxxx; Shridhar Rasal Subject: [PATCH
>>>>>>>>> 1/1] input:
>>>>>>>>> keyboard: Set configuration registers
>>>>>>>>>
>>>>>>>>> -Set only REQUIRED row and column configuration register to
>>>>>>>>> PROPER values to avoid continuously generating KBC input events.
>>>>>>>>> -Use *en* field in pin_cfg, to check GPIO_x_ROW_EN register
>>>>>>>>> should be set or clear.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Shridhar Rasal<srasal@xxxxxxxxxx>
>>>>>>>> I wondered if num==0 could be used instead of a new en field,
>>>>>>>> but 0 is a
>>>>>>>> valid row/column number, so no. As such,
>>>>>>>>
>>>>>>>> Acked-by: Stephen Warren<swarren@xxxxxxxxxx>
>>>>>>> Can we pass in number of pin_cfg instances in pdata and simply do
>>>>>>> not
>>>>>>> mention unneeded pins instead?
>>>>>> IIUC, the array is currently a fixed size (based on the set of pins
>>>>>> Supported by the KBC), hence that won't work; there's an entry for
>>>>>> each
>>>>>> pin saying which row/column it is.
>>>>>>
>>>>>> However, I suppose if we were to change the structure of the pdata
>>>>>> to be:
>>>>>>
>>>>>> struct tegra_kbc_pin_cfg {
>>>>>> bool is_row;
>>>>>> u8 row_col_id;
>>>>>> u8 pin_id;
>>>>>> };
>>>>>>
>>>>>> Then struct tegra_kbc_platform_data could indeed have a pointer to a
>>>>>> variable-sized array of these, which would avoid the "en" member.
>>>>>>
>>>>> How about we change bool to enum instead, like in the patch below?
>>>> *ping*
>>> That's conceptually fine by me. I was assuming you were asking Rakesh...
>> Everyone... Anyone ;)
>>
>>> I'd rather PIN_CFG_IGNORE was the first enum, so it gets value 0, or
>>> this
>>> probably won't solve the original issue?
>> The benefit of current definition is that it is compatible with old
>> ones using bool...
>>
>> Thanks.
> Sorry for delay in response.
> I am OK with new definition. Agree, makes compatible with old definitions.
> Thanks!
Which new definition; the one in Dmitry's patch, or what I proposed
above? Note that from what I recall, Dmitry's patch doesn't solve the
problem.
--
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/