platform/x86: surface3_button: Propagate error from gpiod_count()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 20 Feb 2017 16:15:48 +0000 (18:15 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 16 Mar 2017 20:52:12 +0000 (21:52 +0100)
Since gpiod_count() does not return 0 anymore, we don't need to shadow
its error code and would safely propagate to the user.

While here, replace second parameter by NULL in order to prevent side
effects on _DSD enabled firmware.

Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/platform/x86/surface3_button.c

index 8bfd7f613d362190c90e2df294a93931361c8a7e..57f51476bb65e5b560444a4f6bdce0d48fe8d2f0 100644 (file)
@@ -196,9 +196,10 @@ static int surface3_button_probe(struct i2c_client *client,
                    strlen(SURFACE_BUTTON_OBJ_NAME)))
                return -ENODEV;
 
-       if (gpiod_count(dev, KBUILD_MODNAME) <= 0) {
+       error = gpiod_count(dev, NULL);
+       if (error < 0) {
                dev_dbg(dev, "no GPIO attached, ignoring...\n");
-               return -ENODEV;
+               return error;
        }
 
        priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);