From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752033AbdJ0PiH (ORCPT ); Fri, 27 Oct 2017 11:38:07 -0400 Received: from mout.web.de ([212.227.17.12]:60498 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751430AbdJ0PiD (ORCPT ); Fri, 27 Oct 2017 11:38:03 -0400 To: linux-arm-kernel@lists.infradead.org, Lee Jones , Linus Walleij Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] mfd: ab8500-debugfs: Use common error handling code in ab8500_print_modem_registers() Message-ID: <7af3098c-21fd-aa16-237f-0359d312cac7@users.sourceforge.net> Date: Fri, 27 Oct 2017 17:37:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:LqIAqFOg4+X9FfUuQbvxtwgl25Ct87qZs8fiwRLKjb2HOzlsVQy PsDxvwYsRXHbWxwhrQp6HiozXxW5Fun/i7xoripQgEG22if9EkKz2U3OCvWu/Vkn2grLpZp 7wMb7tnNn/Q34m28owFByU4swtlQ3obaaV/+zKZLqslpAEGD3IJ8s8PaLchGFhTnkDEOEIc g6HVvTQBCpDQG5s775sKQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:tw/agnPJfEw=:nAg1sUM+SiR6yWDhJXrL19 pwBWXHu54puMsuIXvIWGABMK9xBQ0KZWe/MtQWOJwHt8yrcR3R2FLwCES5GKm8TEu56YUNReL HZ3xyKMuaPSUyeJlvNZx420ssM3CyL6TUAdUDe/TfEgE+l0E5A/qbSHBVw+WMqHIFsoPEGHUh 6MfxViKdjjr+wd8bd1poi2j9JHZMru1BG4flaMgnMkfR78uCp2bvVxLh9l+4O4EmOYZAT2GJH 16FDSTsn1Fp95RyUXE+KHaizdyl31GcNdBcTX9r2ppo5a4+7+DJS6/tIL6UfUkfNDJI7SAvvA Mi+q1sVim2jB6Y+V2SQxU9xLm6Lx09hE8rlDCYVL0+zTJhEyDlkBkZVisgIf0CxDUbidknhzC /QfgGs74s23ctjqd4hraF7EYt62EV63/1fdrs399qV0S1hoT0lknU3LL0Zzy+VBaO0Teqj/dB wFrXnB6PggH+l31LTmLZiY9otNZbCV+GNvVYK3WD+daogHqX5HVRPEop11Yeqic/nfyRfv8Cf hz/dYwfzlLu8MENduOZiWTXebGlXgn7H6WUtvX+/H1kbh+PrPSWIRYWFwSeVfoi6S7+n4yCY9 0JYwgfS1AMUtrJadjGHmBmd24uCN77p/XCy8p3sj604OgbSMf728qSXy/jVD1VsC3cfvo6eNH R8yKvSaq5sXDDDKQ54zFVz0u2EYTcEvpH+nBfyRt447mb+HKa0WGLj7x1wTOBRSaE+mvpT80G 6VzFXQiXkwl1ofxM9zCk02jzBumSLYiapn5aEvtyeNSVWN0D8mZOFINwmZu3jyh7Sbpf52H+U lUsvbxSSDg9r68S6ve0QgqzIYyE/XQeaY+7Snjw+hkKBG8hPdw= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Fri, 27 Oct 2017 17:20:45 +0200 Add jump targets so that two error messages are stored only once at the end of this function implementation. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/mfd/ab8500-debugfs.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/drivers/mfd/ab8500-debugfs.c b/drivers/mfd/ab8500-debugfs.c index c1c815241e02..37f39b2a1aa1 100644 --- a/drivers/mfd/ab8500-debugfs.c +++ b/drivers/mfd/ab8500-debugfs.c @@ -1620,18 +1620,15 @@ static int ab8500_print_modem_registers(struct seq_file *s, void *p) err = abx500_get_register_interruptible(dev, AB8500_REGU_CTRL1, AB8500_SUPPLY_CONTROL_REG, &orig_value); - if (err < 0) { - dev_err(dev, "ab->read fail %d\n", err); - return err; - } + if (err < 0) + goto report_read_failure; + /* Config 1 will allow APE side to read SIM registers */ err = abx500_set_register_interruptible(dev, AB8500_REGU_CTRL1, AB8500_SUPPLY_CONTROL_REG, AB8500_SUPPLY_CONTROL_CONFIG_1); - if (err < 0) { - dev_err(dev, "ab->write fail %d\n", err); - return err; - } + if (err < 0) + goto report_write_failure; seq_printf(s, " bank 0x%02X:\n", bank); @@ -1641,19 +1638,25 @@ static int ab8500_print_modem_registers(struct seq_file *s, void *p) for (reg = AB8500_FIRST_SIM_REG; reg <= last_sim_reg; reg++) { err = abx500_get_register_interruptible(dev, bank, reg, &value); - if (err < 0) { - dev_err(dev, "ab->read fail %d\n", err); - return err; - } + if (err < 0) + goto report_read_failure; + seq_printf(s, " [0x%02X/0x%02X]: 0x%02X\n", bank, reg, value); } err = abx500_set_register_interruptible(dev, AB8500_REGU_CTRL1, AB8500_SUPPLY_CONTROL_REG, orig_value); - if (err < 0) { - dev_err(dev, "ab->write fail %d\n", err); - return err; - } + if (err < 0) + goto report_write_failure; + return 0; + +report_read_failure: + dev_err(dev, "ab->read fail %d\n", err); + return err; + +report_write_failure: + dev_err(dev, "ab->write fail %d\n", err); + return err; } static int ab8500_modem_open(struct inode *inode, struct file *file) -- 2.14.3