From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754828AbdKAPkU (ORCPT ); Wed, 1 Nov 2017 11:40:20 -0400 Received: from mout.web.de ([212.227.15.14]:61920 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754692AbdKAPkR (ORCPT ); Wed, 1 Nov 2017 11:40:17 -0400 Subject: [PATCH v2 1/2] drm/rcar-du: Use common error handling code in rcar_du_encoders_init() From: SF Markus Elfring To: kbuild test robot , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Dan Carpenter , David Airlie , Jani Nikula , Laurent Pinchart Cc: kernel-janitors@vger.kernel.org, LKML , kbuild-all@01.org, Geert Uytterhoeven References: <201710262044.165nsaJp%fengguang.wu@intel.com> <26b811dd-9dfa-cfd3-7d4d-e7f1c852b8ed@users.sourceforge.net> Message-ID: <56554dfd-6990-e104-ea70-e457f250fe5d@users.sourceforge.net> Date: Wed, 1 Nov 2017 16:39:54 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <26b811dd-9dfa-cfd3-7d4d-e7f1c852b8ed@users.sourceforge.net> Content-Type: text/plain; charset=windows-1252 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:HE9RSuzO50HXIGtZiJXidKNhjmN0pM8B9n7a/o5FUd8UtpLvj4p XCgOsHBngw1j3oArD98r/5LYneMbI02Ybit8eVZdybIUR1WqdJKG56uu7grAmz/hVbGqlXr T96PQXBhQO89phj7ZSso1kv2Wb2DTmNw40K5yn569O5uJIzobLFwY759DefwBdbvjTdOHR4 HT4oM6C3J63am10SZs9jA== X-UI-Out-Filterresults: notjunk:1;V01:K0:CXn7Oq9vlgI=:FvJ85+ju4X3PcnIg2bxKw/ VgUxWhMIik5mjaW5P6TI/UaibPlePKpsva9t37Q9ySAvpMQ5sKrlKg35MHP/v24YfPBhxVSno 3OypxqizXy8+RyoDODpx6U8lQn4O8kL6RQdN9J7BGXKHQPkJjbsQD6Cyasg2rvOGmgGps/Bmq 0BjzZ74pJyMMrOJgOyhFBctimNV6iS5M3ZODyGo4fPnCqkv5bRT2wcVNSrH/TLSB4f/ALVU1Y FKoIWPcSnIirPIUGitqsmaTjhoNcg9Urmb1IYSzDnTYxujEpM+JwKlOnIRqi8ksse7+YY5C8j j8Ra4eILMfrC7zjQBUTwkAV35b2aFoZPb/bEGWU8CmnJ1TEdy1NmEmpQvP5sFtGBLkiWKAn15 7ueeJFGBFtWSJGIx9ctAN88bMu1gUOUrMtnr9JX0rVuWv5Hy5oXY7rp/5mWPsfaC5wdE0MVb2 iUFFW2PcXYJb3/EVCA7jIEIhzU0aIvyY+9u2mkS7Z3lBkldz8CToCnO3FjvPLnWYD4DiP85Sj 4zSHkkT3cGwG91kyU3DVZcQmPvtJMzDq4lWZoO+Ty9ZdaJN+cHmo3lyTG362BuQZQUli5yJcb maHM79XUGDzbNvSy4k61jQD9Crx9SthBtwTN8oKfED+12A9xMUhAWFiZifhybme1sFke9HxUm enXU+OJP+Vwa0Kq7pnuNtaDcnmS5vTT7CrqCN66aiIY28QuyJxjjU+P+b1KgrRJcFcU8j6o6+ JEpDgNRJwL1YE1X/TeBG6PBbYp4bOli89xCbEeKkqLFDBV4btpP8/4/n+Ype6YnLbsA+uGp/f QuV+3AT+dnkPa+euKY7Bw+X6Ww+9303vNzixH0si/tIxbvqM9I= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 1 Nov 2017 15:57:31 +0100 * Add a jump target so that a bit of exception handling can be better reused at the end of this function. * Increase the scope for the variable "ret". This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- v2: The declaration for the variable "ret" was moved out of a loop. drivers/gpu/drm/rcar-du/rcar_du_kms.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index 566d1a948c8f..b6b341164aab 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c @@ -365,6 +365,7 @@ static int rcar_du_encoders_init(struct rcar_du_device *rcdu) struct device_node *np = rcdu->dev->of_node; struct device_node *ep_node; unsigned int num_encoders = 0; + int ret; /* * Iterate over the endpoints and create one encoder for each output @@ -374,13 +375,10 @@ static int rcar_du_encoders_init(struct rcar_du_device *rcdu) enum rcar_du_output output; struct of_endpoint ep; unsigned int i; - int ret; ret = of_graph_parse_endpoint(ep_node, &ep); - if (ret < 0) { - of_node_put(ep_node); - return ret; - } + if (ret < 0) + goto put_node; /* Find the output route corresponding to the port number. */ for (i = 0; i < RCAR_DU_OUTPUT_MAX; ++i) { @@ -401,10 +399,8 @@ static int rcar_du_encoders_init(struct rcar_du_device *rcdu) /* Process the output pipeline. */ ret = rcar_du_encoders_init_one(rcdu, output, &ep); if (ret < 0) { - if (ret == -EPROBE_DEFER) { - of_node_put(ep_node); - return ret; - } + if (ret == -EPROBE_DEFER) + goto put_node; continue; } @@ -413,6 +409,10 @@ static int rcar_du_encoders_init(struct rcar_du_device *rcdu) } return num_encoders; + +put_node: + of_node_put(ep_node); + return ret; } static int rcar_du_properties_init(struct rcar_du_device *rcdu) -- 2.14.3