Преглед на файлове

Input: davinci_keyscan - add device_enable method to platform data

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>
Miguel Aguilar преди 15 години
родител
ревизия
861a64428c
променени са 2 файла, в които са добавени 9 реда и са изтрити 0 реда
  1. 1 0
      arch/arm/mach-davinci/include/mach/keyscan.h
  2. 8 0
      drivers/input/keyboard/davinci_keyscan.c

+ 1 - 0
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;

+ 8 - 0
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;
+		}
+	}
+
 	if (!pdata->keymap) {
 		dev_dbg(dev, "no keymap from pdata\n");
 		return -EINVAL;