drm/tilcdc: panel: Use common error handling code in of_get_panel_info()
authorMarkus Elfring <elfring@users.sourceforge.net>
Tue, 6 Feb 2018 21:10:11 +0000 (22:10 +0100)
committerJyri Sarha <jsarha@ti.com>
Wed, 28 Feb 2018 09:25:36 +0000 (11:25 +0200)
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
drivers/gpu/drm/tilcdc/tilcdc_panel.c

index 0b6aa95aec89ba66baceb188872c15bcdddf0546..cf9ca16fee81e5078861c3c367482ecf9807ce38 100644 (file)
@@ -289,10 +289,8 @@ static struct tilcdc_panel_info *of_get_panel_info(struct device_node *np)
        }
 
        info = kzalloc(sizeof(*info), GFP_KERNEL);
-       if (!info) {
-               of_node_put(info_np);
-               return NULL;
-       }
+       if (!info)
+               goto put_node;
 
        ret |= of_property_read_u32(info_np, "ac-bias", &info->ac_bias);
        ret |= of_property_read_u32(info_np, "ac-bias-intrpt", &info->ac_bias_intrpt);
@@ -311,11 +309,11 @@ static struct tilcdc_panel_info *of_get_panel_info(struct device_node *np)
        if (ret) {
                pr_err("%s: error reading panel-info properties\n", __func__);
                kfree(info);
-               of_node_put(info_np);
-               return NULL;
+               info = NULL;
        }
-       of_node_put(info_np);
 
+put_node:
+       of_node_put(info_np);
        return info;
 }