diff options
| author | Mike Marshall <hubcap@omnibond.com> | 2017-02-25 11:12:48 -0500 |
|---|---|---|
| committer | Mike Marshall <hubcap@omnibond.com> | 2017-02-25 11:12:48 -0500 |
| commit | e98bdb3059cbf2b1cd4261e126b08429f64466c3 (patch) | |
| tree | e378fc95b495cc6e0e558f247e99bcaa21a6d567 /drivers/input/misc/soc_button_array.c | |
| parent | eb68d0324dc4d88ab0d6159bdcd98c247a3a8954 (diff) | |
| parent | c470abd4fde40ea6a0846a2beab642a578c0b8cd (diff) | |
Merge tag 'v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into for-next
Linux 4.10
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; |
