Browse Source

gpio-button-hotplug: do not error on interrupt attached keys

The Linux gpio-keys driver bindings allow for GPIO attached or interrupt
attached keys. Currently if an interrupt attached key is encountered
gpio_keys_button_probe() will fail due to not being able to get a gpio
descriptor:
gpio-keys: probe of gpio-keys failed with error -2

Skip the failure in the case of interrupt attached keys to resolve this.

Signed-off-by: Tim Harvey <[email protected]>
Tim Harvey 2 years ago
parent
commit
23845fa10b
1 changed files with 7 additions and 0 deletions
  1. 7 0
      package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c

+ 7 - 0
package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c

@@ -506,6 +506,13 @@ static int gpio_keys_button_probe(struct platform_device *pdev,
 			goto out;
 		}
 
+		if (button->irq) {
+			dev_err(dev, "skipping button %s (only gpio buttons supported)\n",
+				button->desc);
+			bdata->b = &pdata->buttons[i];
+			continue;
+		}
+
 		if (gpio_is_valid(button->gpio)) {
 			/* legacy platform data... but is it the lookup table? */
 			bdata->gpiod = devm_gpiod_get_index(dev, desc, i,