Re: [PATCH v6] input: drv260x: Add TI drv260x haptics driver
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2014-08-19 20:24:44
Also in:
linux-devicetree, lkml
On Tue, Aug 19, 2014 at 08:13:32PM +0000, Murphy, Dan wrote:
On 08/19/2014 03:07 PM, Dmitry Torokhov wrote:quoted
On Tue, Aug 19, 2014 at 07:35:06PM +0000, Murphy, Dan wrote:quoted
Dmitry On 08/19/2014 02:24 PM, Dmitry Torokhov wrote:quoted
Hi Dan, On Fri, Aug 15, 2014 at 10:47:50AM -0500, Dan Murphy wrote:quoted
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index 2ff4425..99f6762 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig@@ -676,4 +676,13 @@ config INPUT_SOC_BUTTON_ARRAY To compile this driver as a module, choose M here: the module will be called soc_button_array. +config INPUT_DRV260X_HAPTICS + tristate "TI DRV260X haptics support" + depends on INPUT && I2CThis also needs "select REGMAP_I2C"This one is OKquoted
quoted
+ help + Say Y to enable support for the TI DRV260X haptics driver. + + To compile this driver as a module, choose M here: the + module will be called drv260x-haptics. +[...]quoted
+#ifndef _LINUX_DRV260X_PDATA_H +#define _LINUX_DRV260X_PDATA_H + +struct drv260x_platform_data { + int enable_gpio;I do not see this used anywhere.But this is actually used here haptics->enable_gpio = devm_gpiod_get(&client->dev, "enable"); for the non-dt case"haptics" is not instance of drv260x_platform_data but drv260x_data which defines: struct drv260x_data { ... struct gpio_desc *enable_gpio; ... That one I kept.Yes that is correct but the enable_gpio for non-dt enabled devices this enable_gpio needs to come from the platform data structure. Without the enable gpio in the platform data structure there is no way for non-dt enabled devices to set the gpio value.
What else uses the platform data structure? You are accessing gpio by name, not by number, in the driver so I am not sure how non-dt case will use u32 defined in platform data.
The haptics instance just stores the gpio descriptor returned from this call.
Right.
The devm_gpiod looks at the platform data is CONFIG_OF is not set.
Umm, how? You do not pass it anywhere... Thanks. -- Dmitry