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

From: Stephen Warren
Date: Fri Dec 09 2011 - 18:18:05 EST


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.

--
nvpublic

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