Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 861a6442 authored by Miguel Aguilar's avatar Miguel Aguilar Committed by Dmitry Torokhov
Browse files

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: default avatarMiguel Aguilar <miguel.aguilar@ridgerun.com>
Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 30a589fd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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;