Skip to content

Commit

Permalink
Input: davinci_keyscan - add device_enable method to platform data
Browse files Browse the repository at this point in the history
Add a function pointer in the platform data of the DaVinci Keyscan driver
called device_enable, in order to perform board specific actions when
the device is initialized, like setup the PINMUX configuration.

Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Miguel Aguilar authored and Dmitry Torokhov committed Jan 6, 2010
1 parent 30a589f commit 861a644
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-davinci/include/mach/keyscan.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions drivers/input/keyboard/davinci_keyscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}

if (!pdata->keymap) {
dev_dbg(dev, "no keymap from pdata\n");
return -EINVAL;
Expand Down

0 comments on commit 861a644

Please sign in to comment.