Browse Source

gpio-button-hotplug: skip disabled buttons

Ignore buttons which are disabled in the devicetree.

Reviewed-by: Rosen Penev <[email protected]>
Signed-off-by: Thomas Richard <[email protected]>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/[email protected]/
Signed-off-by: Hauke Mehrtens <[email protected]>
Thomas Richard 1 year ago
parent
commit
2760b7c8ec

+ 1 - 1
package/kernel/gpio-button-hotplug/Makefile

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=gpio-button-hotplug
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk

+ 2 - 2
package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c

@@ -373,7 +373,7 @@ gpio_keys_get_devtree_pdata(struct device *dev)
 	if (!node)
 		return NULL;
 
-	nbuttons = of_get_child_count(node);
+	nbuttons = of_get_available_child_count(node);
 	if (nbuttons == 0)
 		return ERR_PTR(-EINVAL);
 
@@ -388,7 +388,7 @@ gpio_keys_get_devtree_pdata(struct device *dev)
 	pdata->rep = !!of_get_property(node, "autorepeat", NULL);
 	of_property_read_u32(node, "poll-interval", &pdata->poll_interval);
 
-	for_each_child_of_node(node, pp) {
+	for_each_available_child_of_node(node, pp) {
 		button = (struct gpio_keys_button *)(&pdata->buttons[i++]);
 
 		if (of_property_read_u32(pp, "linux,code", &button->code)) {