greybus: arche-platform: propagate errors returned by gpiolib
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 11 Jan 2016 05:59:07 +0000 (11:29 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Mon, 11 Jan 2016 23:58:01 +0000 (15:58 -0800)
Propagate errors returned by of_get_named_gpio() instead of sending
-ENODEV.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-platform.c

index 93ecd8c8bed70040477c255b6147ff67fe0a1fcf..52c79ae792f403aa233013fe3294800bd69fb7c9 100644 (file)
@@ -82,7 +82,7 @@ static int arche_platform_probe(struct platform_device *pdev)
        arche_pdata->svc_reset_gpio = of_get_named_gpio(np, "svc,reset-gpio", 0);
        if (arche_pdata->svc_reset_gpio < 0) {
                dev_err(dev, "failed to get reset-gpio\n");
-               return -ENODEV;
+               return arche_pdata->svc_reset_gpio;
        }
        ret = devm_gpio_request(dev, arche_pdata->svc_reset_gpio, "svc-reset");
        if (ret) {
@@ -100,7 +100,7 @@ static int arche_platform_probe(struct platform_device *pdev)
                                        "svc,sysboot-gpio", 0);
        if (arche_pdata->svc_sysboot_gpio < 0) {
                dev_err(dev, "failed to get sysboot gpio\n");
-               return -ENODEV;
+               return arche_pdata->svc_sysboot_gpio;
        }
        ret = devm_gpio_request(dev, arche_pdata->svc_sysboot_gpio, "sysboot0");
        if (ret) {
@@ -118,7 +118,7 @@ static int arche_platform_probe(struct platform_device *pdev)
                                        "svc,refclk-req-gpio", 0);
        if (arche_pdata->svc_refclk_req < 0) {
                dev_err(dev, "failed to get svc clock-req gpio\n");
-               return -ENODEV;
+               return arche_pdata->svc_refclk_req;
        }
        ret = devm_gpio_request(dev, arche_pdata->svc_refclk_req, "svc-clk-req");
        if (ret) {