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(+)
@@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)for_each_child_of_node(node,pp){enumof_gpio_flagsflags;+/* 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);
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(+)
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.
quoted hunk
---
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(+)
On Wed, Jan 13, 2016 at 11:44:16AM +0530, Laxman Dewangan wrote:
quoted hunk
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 <redacted>
---
Changes from V1:
- Converted print to dev_dbg.
drivers/input/keyboard/gpio_keys.c | 8 ++++++++
1 file changed, 8 insertions(+)
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.
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
On Wednesday 13 January 2016 12:36 PM, Dmitry Torokhov wrote:
On Wed, Jan 13, 2016 at 11:44:16AM +0530, Laxman Dewangan wrote:
quoted
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(+)
@@ -632,6 +632,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)for_each_child_of_node(node,pp){enumof_gpio_flagsflags;+/* 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