35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
From dc16436c048a734bffabefb79508c39795f2a8bb Mon Sep 17 00:00:00 2001
|
|
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
Date: Fri, 13 May 2016 15:52:20 +0200
|
|
Subject: [PATCH 2/6] Input - soc_button_array: bail out earlier if gpiod_count
|
|
is null
|
|
|
|
The PNP0C40 device of the Surface 3 doesn't have any GPIO attached to it.
|
|
Instead of trying to access the GPIO, request the count beforehand and
|
|
bail out if it is null or if an error is returned.
|
|
|
|
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
---
|
|
drivers/input/misc/soc_button_array.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
|
|
index bbd433c..5467d04 100644
|
|
--- a/drivers/input/misc/soc_button_array.c
|
|
+++ b/drivers/input/misc/soc_button_array.c
|
|
@@ -167,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_info(&pdev->dev, "no GPIO attached, ignoring...\n");
|
|
+ return -ENODEV;
|
|
+ }
|
|
+
|
|
priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
|
|
if (!priv)
|
|
return -ENOMEM;
|
|
--
|
|
2.7.4
|
|
|