All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT
@ 2016-01-13  6:14 ` Laxman Dewangan
  0 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2016-01-13  6:14 UTC (permalink / raw)
  To: robh+dt, dmitry.torokhov, pawel.moll, mark.rutland
  Cc: galak, devicetree, linux-kernel, linux-input, linus.walleij,
	bjorn.andersson, Laxman Dewangan

Add support to disable the button from DT via status property
if given button is not supporting on given platforms.

This will help to re-use the existing dtsi file with status
enable/disable across platforms.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Changes from V1:
- Converted print to dev_dbg.

 drivers/input/keyboard/gpio_keys.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index bef317f..08bada8 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
 	for_each_child_of_node(node, pp) {
 		enum of_gpio_flags flags;
 
+		/* Ignore the button if status of node is disabled */
+		error = of_device_is_available(pp);
+		if (!error) {
+			dev_dbg(dev, "Button %s is ignored\n", pp->name);
+			pdata->nbuttons--;
+			continue;
+		}
+
 		button = &pdata->buttons[i++];
 
 		button->gpio = of_get_gpio_flags(pp, 0, &flags);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT
@ 2016-01-13  6:14 ` Laxman Dewangan
  0 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2016-01-13  6:14 UTC (permalink / raw)
  To: robh+dt, dmitry.torokhov, pawel.moll, mark.rutland
  Cc: galak, devicetree, linux-kernel, linux-input, linus.walleij,
	bjorn.andersson, Laxman Dewangan

Add support to disable the button from DT via status property
if given button is not supporting on given platforms.

This will help to re-use the existing dtsi file with status
enable/disable across platforms.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Changes from V1:
- Converted print to dev_dbg.

 drivers/input/keyboard/gpio_keys.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index bef317f..08bada8 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
 	for_each_child_of_node(node, pp) {
 		enum of_gpio_flags flags;
 
+		/* Ignore the button if status of node is disabled */
+		error = of_device_is_available(pp);
+		if (!error) {
+			dev_dbg(dev, "Button %s is ignored\n", pp->name);
+			pdata->nbuttons--;
+			continue;
+		}
+
 		button = &pdata->buttons[i++];
 
 		button->gpio = of_get_gpio_flags(pp, 0, &flags);
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH V2 2/2] input: gpio-keys: add support to name the gpio-keys
  2016-01-13  6:14 ` Laxman Dewangan
@ 2016-01-13  6:14   ` Laxman Dewangan
  -1 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2016-01-13  6:14 UTC (permalink / raw)
  To: robh+dt, dmitry.torokhov, pawel.moll, mark.rutland
  Cc: galak, devicetree, linux-kernel, linux-input, linus.walleij,
	bjorn.andersson, Laxman Dewangan

Add support from DT to name the gpio-keys driver to have
desired key name for this input system.

This helps userspace code to get name and perform proper
event to key mapping in some of cases. In android, the
user space map the key code to application code using
key character layout and for this it uses the name of
input system.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Changes from V1:
- Use standard property "label" instead of custom property "gpio-keys,name"

 Documentation/devicetree/bindings/input/gpio-keys.txt | 1 +
 drivers/input/keyboard/gpio_keys.c                    | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/gpio-keys.txt b/Documentation/devicetree/bindings/input/gpio-keys.txt
index cf1333d..f23bfa1 100644
--- a/Documentation/devicetree/bindings/input/gpio-keys.txt
+++ b/Documentation/devicetree/bindings/input/gpio-keys.txt
@@ -4,6 +4,7 @@ Required properties:
 	- compatible = "gpio-keys";
 
 Optional properties:
+	- label: String, name of the gpio-keys input system.
 	- autorepeat: Boolean, Enable auto repeat feature of Linux input
 	  subsystem.
 
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index 08bada8..448f38f 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -628,6 +628,8 @@ gpio_keys_get_devtree_pdata(struct device *dev)
 
 	pdata->rep = !!of_get_property(node, "autorepeat", NULL);
 
+	of_property_read_string(node, "label", &pdata->name);
+
 	i = 0;
 	for_each_child_of_node(node, pp) {
 		enum of_gpio_flags flags;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH V2 2/2] input: gpio-keys: add support to name the gpio-keys
@ 2016-01-13  6:14   ` Laxman Dewangan
  0 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2016-01-13  6:14 UTC (permalink / raw)
  To: robh+dt, dmitry.torokhov, pawel.moll, mark.rutland
  Cc: galak, devicetree, linux-kernel, linux-input, linus.walleij,
	bjorn.andersson, Laxman Dewangan

Add support from DT to name the gpio-keys driver to have
desired key name for this input system.

This helps userspace code to get name and perform proper
event to key mapping in some of cases. In android, the
user space map the key code to application code using
key character layout and for this it uses the name of
input system.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Changes from V1:
- Use standard property "label" instead of custom property "gpio-keys,name"

 Documentation/devicetree/bindings/input/gpio-keys.txt | 1 +
 drivers/input/keyboard/gpio_keys.c                    | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/gpio-keys.txt b/Documentation/devicetree/bindings/input/gpio-keys.txt
index cf1333d..f23bfa1 100644
--- a/Documentation/devicetree/bindings/input/gpio-keys.txt
+++ b/Documentation/devicetree/bindings/input/gpio-keys.txt
@@ -4,6 +4,7 @@ Required properties:
 	- compatible = "gpio-keys";
 
 Optional properties:
+	- label: String, name of the gpio-keys input system.
 	- autorepeat: Boolean, Enable auto repeat feature of Linux input
 	  subsystem.
 
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index 08bada8..448f38f 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -628,6 +628,8 @@ gpio_keys_get_devtree_pdata(struct device *dev)
 
 	pdata->rep = !!of_get_property(node, "autorepeat", NULL);
 
+	of_property_read_string(node, "label", &pdata->name);
+
 	i = 0;
 	for_each_child_of_node(node, pp) {
 		enum of_gpio_flags flags;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 2/2] input: gpio-keys: add support to name the gpio-keys
  2016-01-13  6:14   ` Laxman Dewangan
  (?)
@ 2016-01-13  7:02   ` Dmitry Torokhov
  -1 siblings, 0 replies; 9+ messages in thread
From: Dmitry Torokhov @ 2016-01-13  7:02 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: robh+dt, pawel.moll, mark.rutland, galak, devicetree,
	linux-kernel, linux-input, linus.walleij, bjorn.andersson

On Wed, Jan 13, 2016 at 11:44:17AM +0530, Laxman Dewangan wrote:
> Add support from DT to name the gpio-keys driver to have
> desired key name for this input system.
> 
> This helps userspace code to get name and perform proper
> event to key mapping in some of cases. In android, the
> user space map the key code to application code using
> key character layout and for this it uses the name of
> input system.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Applied, thank you.

> ---
> Changes from V1:
> - Use standard property "label" instead of custom property "gpio-keys,name"
> 
>  Documentation/devicetree/bindings/input/gpio-keys.txt | 1 +
>  drivers/input/keyboard/gpio_keys.c                    | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/input/gpio-keys.txt b/Documentation/devicetree/bindings/input/gpio-keys.txt
> index cf1333d..f23bfa1 100644
> --- a/Documentation/devicetree/bindings/input/gpio-keys.txt
> +++ b/Documentation/devicetree/bindings/input/gpio-keys.txt
> @@ -4,6 +4,7 @@ Required properties:
>  	- compatible = "gpio-keys";
>  
>  Optional properties:
> +	- label: String, name of the gpio-keys input system.
>  	- autorepeat: Boolean, Enable auto repeat feature of Linux input
>  	  subsystem.
>  
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index 08bada8..448f38f 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -628,6 +628,8 @@ gpio_keys_get_devtree_pdata(struct device *dev)
>  
>  	pdata->rep = !!of_get_property(node, "autorepeat", NULL);
>  
> +	of_property_read_string(node, "label", &pdata->name);
> +
>  	i = 0;
>  	for_each_child_of_node(node, pp) {
>  		enum of_gpio_flags flags;
> -- 
> 2.1.4
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT
@ 2016-01-13  7:06   ` Dmitry Torokhov
  0 siblings, 0 replies; 9+ messages in thread
From: Dmitry Torokhov @ 2016-01-13  7:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: robh+dt, pawel.moll, mark.rutland, galak, devicetree,
	linux-kernel, linux-input, linus.walleij, bjorn.andersson

On Wed, Jan 13, 2016 at 11:44:16AM +0530, Laxman Dewangan wrote:
> Add support to disable the button from DT via status property
> if given button is not supporting on given platforms.
> 
> This will help to re-use the existing dtsi file with status
> enable/disable across platforms.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
> Changes from V1:
> - Converted print to dev_dbg.
> 
>  drivers/input/keyboard/gpio_keys.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index bef317f..08bada8 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
>  	for_each_child_of_node(node, pp) {

>  		enum of_gpio_flags flags;
>  
> +		/* Ignore the button if status of node is disabled */
> +		error = of_device_is_available(pp);
> +		if (!error) {
> +			dev_dbg(dev, "Button %s is ignored\n", pp->name);
> +			pdata->nbuttons--;

Looking at this some more, maybe we should be using
of_get_available_child_count() when calculating pdata->nbuttons (and do
not decrement it here) and maybe even use
for_each_available_child_of_node() in this loop and forego manual check.

> +			continue;
> +		}
> +
>  		button = &pdata->buttons[i++];
>  
>  		button->gpio = of_get_gpio_flags(pp, 0, &flags);
> -- 
> 2.1.4
> 

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT
@ 2016-01-13  7:06   ` Dmitry Torokhov
  0 siblings, 0 replies; 9+ messages in thread
From: Dmitry Torokhov @ 2016-01-13  7:06 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8,
	mark.rutland-5wv7dgnIgG8, galak-sgV2jX0FEOL9JmXXK+q4OQ,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-input-u79uwXL29TY76Z2rM5mHXA,
	linus.walleij-QSEj5FYQhm4dnm+yROfE0A,
	bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g

On Wed, Jan 13, 2016 at 11:44:16AM +0530, Laxman Dewangan wrote:
> Add support to disable the button from DT via status property
> if given button is not supporting on given platforms.
> 
> This will help to re-use the existing dtsi file with status
> enable/disable across platforms.
> 
> Signed-off-by: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
> Changes from V1:
> - Converted print to dev_dbg.
> 
>  drivers/input/keyboard/gpio_keys.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index bef317f..08bada8 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
>  	for_each_child_of_node(node, pp) {

>  		enum of_gpio_flags flags;
>  
> +		/* Ignore the button if status of node is disabled */
> +		error = of_device_is_available(pp);
> +		if (!error) {
> +			dev_dbg(dev, "Button %s is ignored\n", pp->name);
> +			pdata->nbuttons--;

Looking at this some more, maybe we should be using
of_get_available_child_count() when calculating pdata->nbuttons (and do
not decrement it here) and maybe even use
for_each_available_child_of_node() in this loop and forego manual check.

> +			continue;
> +		}
> +
>  		button = &pdata->buttons[i++];
>  
>  		button->gpio = of_get_gpio_flags(pp, 0, &flags);
> -- 
> 2.1.4
> 

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT
  2016-01-13  7:06   ` Dmitry Torokhov
@ 2016-01-13  7:07     ` Laxman Dewangan
  -1 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2016-01-13  7:07 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: robh+dt, pawel.moll, mark.rutland, galak, devicetree,
	linux-kernel, linux-input, linus.walleij, bjorn.andersson


On Wednesday 13 January 2016 12:36 PM, Dmitry Torokhov wrote:
> On Wed, Jan 13, 2016 at 11:44:16AM +0530, Laxman Dewangan wrote:
>> Add support to disable the button from DT via status property
>> if given button is not supporting on given platforms.
>>
>> This will help to re-use the existing dtsi file with status
>> enable/disable across platforms.
>>
>> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
>> ---
>> Changes from V1:
>> - Converted print to dev_dbg.
>>
>>   drivers/input/keyboard/gpio_keys.c | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
>> index bef317f..08bada8 100644
>> --- a/drivers/input/keyboard/gpio_keys.c
>> +++ b/drivers/input/keyboard/gpio_keys.c
>> @@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
>>   	for_each_child_of_node(node, pp) {
>>   		enum of_gpio_flags flags;
>>   
>> +		/* Ignore the button if status of node is disabled */
>> +		error = of_device_is_available(pp);
>> +		if (!error) {
>> +			dev_dbg(dev, "Button %s is ignored\n", pp->name);
>> +			pdata->nbuttons--;
> Looking at this some more, maybe we should be using
> of_get_available_child_count() when calculating pdata->nbuttons (and do
> not decrement it here) and maybe even use
> for_each_available_child_of_node() in this loop and forego manual check.
>


yes, that is better option here. I was not knowing these APIs. Thanks 
for information. I will make another patch for this.

Thanks,
Laxman

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT
@ 2016-01-13  7:07     ` Laxman Dewangan
  0 siblings, 0 replies; 9+ messages in thread
From: Laxman Dewangan @ 2016-01-13  7:07 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: robh+dt, pawel.moll, mark.rutland, galak, devicetree,
	linux-kernel, linux-input, linus.walleij, bjorn.andersson


On Wednesday 13 January 2016 12:36 PM, Dmitry Torokhov wrote:
> On Wed, Jan 13, 2016 at 11:44:16AM +0530, Laxman Dewangan wrote:
>> Add support to disable the button from DT via status property
>> if given button is not supporting on given platforms.
>>
>> This will help to re-use the existing dtsi file with status
>> enable/disable across platforms.
>>
>> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
>> ---
>> Changes from V1:
>> - Converted print to dev_dbg.
>>
>>   drivers/input/keyboard/gpio_keys.c | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
>> index bef317f..08bada8 100644
>> --- a/drivers/input/keyboard/gpio_keys.c
>> +++ b/drivers/input/keyboard/gpio_keys.c
>> @@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
>>   	for_each_child_of_node(node, pp) {
>>   		enum of_gpio_flags flags;
>>   
>> +		/* Ignore the button if status of node is disabled */
>> +		error = of_device_is_available(pp);
>> +		if (!error) {
>> +			dev_dbg(dev, "Button %s is ignored\n", pp->name);
>> +			pdata->nbuttons--;
> Looking at this some more, maybe we should be using
> of_get_available_child_count() when calculating pdata->nbuttons (and do
> not decrement it here) and maybe even use
> for_each_available_child_of_node() in this loop and forego manual check.
>


yes, that is better option here. I was not knowing these APIs. Thanks 
for information. I will make another patch for this.

Thanks,
Laxman


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-01-13  7:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-13  6:14 [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT Laxman Dewangan
2016-01-13  6:14 ` Laxman Dewangan
2016-01-13  6:14 ` [PATCH V2 2/2] input: gpio-keys: add support to name the gpio-keys Laxman Dewangan
2016-01-13  6:14   ` Laxman Dewangan
2016-01-13  7:02   ` Dmitry Torokhov
2016-01-13  7:06 ` [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT Dmitry Torokhov
2016-01-13  7:06   ` Dmitry Torokhov
2016-01-13  7:07   ` Laxman Dewangan
2016-01-13  7:07     ` Laxman Dewangan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.