Re: [PATCH 1/1] input: keyboard: Set configuration registers

From: Shridhar Rasal
Date: Tue Mar 27 2012 - 01:17:03 EST


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!

--
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/