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

From: Dmitry Torokhov
Date: Tue Jan 31 2012 - 14:47:43 EST


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.

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