On Fri, Nov 13, 2009 at 01:43:54PM -0600, miguel.aguilar@xxxxxxxxxxxx wrote: > From: Miguel Aguilar <miguel.aguilar@xxxxxxxxxxxx> > > Add a function pointer in the platform data of the DaVinci Keyscan driver > called device_enabled, in order to perform board specific actions when > the device is initialized, like setup the PINMUX configuration. > > Signed-off-by: Miguel Aguilar <miguel.aguilar@xxxxxxxxxxxx> > --- > arch/arm/mach-davinci/include/mach/keyscan.h | 1 + > drivers/input/keyboard/davinci_keyscan.c | 8 ++++++++ > 2 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-davinci/include/mach/keyscan.h b/arch/arm/mach-davinci/include/mach/keyscan.h > index b4e21a2..7a560e0 100644 > --- a/arch/arm/mach-davinci/include/mach/keyscan.h > +++ b/arch/arm/mach-davinci/include/mach/keyscan.h > @@ -29,6 +29,7 @@ enum davinci_matrix_types { > }; > > struct davinci_ks_platform_data { > + int (*device_enable)(struct device *dev); > unsigned short *keymap; > u32 keymapsize; > u8 rep:1; > diff --git a/drivers/input/keyboard/davinci_keyscan.c b/drivers/input/keyboard/davinci_keyscan.c > index 6e52d85..d410d7a 100644 > --- a/drivers/input/keyboard/davinci_keyscan.c > +++ b/drivers/input/keyboard/davinci_keyscan.c > @@ -174,6 +174,14 @@ static int __init davinci_ks_probe(struct platform_device *pdev) > struct davinci_ks_platform_data *pdata = pdev->dev.platform_data; > int error, i; > > + if (pdata->device_enable) { > + error = pdata->device_enable(dev); > + if (error < 0) { > + dev_dbg(dev, "device enable function failed\n"); > + return error; > + } > + } > + Hi Miguel, Does this need to live in the driver? Why can't platform code do this for us? Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html