pinctrl: samsung: Make samsung_pinctrl_get_soc_data use ERR_PTR()
authorTomasz Figa <tomasz.figa@gmail.com>
Tue, 23 Sep 2014 19:05:37 +0000 (21:05 +0200)
committerTomasz Figa <tomasz.figa@gmail.com>
Sun, 9 Nov 2014 12:10:28 +0000 (21:10 +0900)
Currently the function returns a valid pointer on success and NULL on
error, so exact error code is lost. This patch changes return convention
of the function to use ERR_PTR() on error instead.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
drivers/pinctrl/samsung/pinctrl-samsung.c

index 2d37c8f..8ac7503 100644 (file)
@@ -981,7 +981,7 @@ static struct samsung_pin_ctrl *samsung_pinctrl_get_soc_data(
        id = of_alias_get_id(node, "pinctrl");
        if (id < 0) {
                dev_err(&pdev->dev, "failed to get alias id\n");
-               return NULL;
+               return ERR_PTR(-ENOENT);
        }
        match = of_match_node(samsung_pinctrl_dt_match, node);
        ctrl = (struct samsung_pin_ctrl *)match->data + id;
@@ -1033,9 +1033,9 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
        }
 
        ctrl = samsung_pinctrl_get_soc_data(drvdata, pdev);
-       if (!ctrl) {
+       if (IS_ERR(ctrl)) {
                dev_err(&pdev->dev, "driver data not available\n");
-               return -EINVAL;
+               return PTR_ERR(ctrl);
        }
        drvdata->ctrl = ctrl;
        drvdata->dev = dev;