Re: [PATCH V2 1/2] input: gpio-keys: add support for disable button from DT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxx>
---
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

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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux