diff options
| author | 2017-01-24 16:24:18 +0000 | |
|---|---|---|
| committer | 2017-01-24 16:24:18 +0000 | |
| commit | dbbc21bbf2c640dd148903e82f752c2f269fc58a (patch) | |
| tree | e85f5b686774e2fbae6387f94bf44c4076c49046 /drivers/input/misc/soc_button_array.c | |
| parent | ASoC: hdac_hdmi: use audio component framework to read ELD (diff) | |
| parent | Linux 4.10-rc1 (diff) | |
Merge tag 'v4.10-rc1' into asoc-intel
Linux 4.10-rc1
Diffstat (limited to 'drivers/input/misc/soc_button_array.c')
| -rw-r--r-- | drivers/input/misc/soc_button_array.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c index c14b82709b0f..908b51089dee 100644 --- a/drivers/input/misc/soc_button_array.c +++ b/drivers/input/misc/soc_button_array.c @@ -17,6 +17,7 @@ #include <linux/acpi.h> #include <linux/gpio/consumer.h> #include <linux/gpio_keys.h> +#include <linux/gpio.h> #include <linux/platform_device.h> /* @@ -92,7 +93,7 @@ soc_button_device_create(struct platform_device *pdev, continue; gpio = soc_button_lookup_gpio(&pdev->dev, info->acpi_index); - if (gpio < 0) + if (!gpio_is_valid(gpio)) continue; gpio_keys[n_buttons].type = info->event_type; @@ -166,6 +167,11 @@ static int soc_button_probe(struct platform_device *pdev) button_info = (struct soc_button_info *)id->driver_data; + if (gpiod_count(&pdev->dev, KBUILD_MODNAME) <= 0) { + dev_dbg(&pdev->dev, "no GPIO attached, ignoring...\n"); + return -ENODEV; + } + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; |
