From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752865AbdKBJuW (ORCPT ); Thu, 2 Nov 2017 05:50:22 -0400 Received: from mout.web.de ([212.227.15.14]:49763 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752560AbdKBJuU (ORCPT ); Thu, 2 Nov 2017 05:50:20 -0400 To: linux-rtc@vger.kernel.org, Alessandro Zummo , Alexandre Belloni Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] rtc-ds1302: Use common error handling code in ds1302_probe() Message-ID: <1e446a0e-3928-d4b5-d916-b25ae3d4b6f5@users.sourceforge.net> Date: Thu, 2 Nov 2017 10:50:08 +0100 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:jnGoTDP7OiCq+cmFc8FxSL2w8NZ4GtNVxap3EwSYG4BPW3N3igW WnlbAGw+TqN5eTmh0cU3CM/VpirJCZI9/5mrN01+BFIC7vheUfrLcDFKiXPgTSAOTh0LKj2 PyI1PHT0w/z+u/sEGAUFWVmMMuJpswEu7E3QLy52q0dIG6mmV9xxQdIy/OqavHdt+yDq27Y iHCGskHvr/0BuC3D8jUPA== X-UI-Out-Filterresults: notjunk:1;V01:K0:McTL86oO6k4=:M/Vlf8Oy9Rd7c2b6L8x/1E draMPIwKBmvzaEXs3tR6oFHnbWI8JQVYUlkhq5OIgkW1UCb4gjRS9zN/PgcXPuRc1HjgdUFnA nDP6MgExP6dFFyE3ZWmBFjLWjPowUGNM4ew9IZ2YdoPqgNkL0HhRRyRlEPaxKVXDkYRy4r1/s 5WGyOTavyf/usw30x4ThUCWYvbZxV/U6ICDSsCuZsjmfUCFuHcAoEus+Fk5CDQRRWMfnrqjGs Tt1s3ede0bLOjeADznid7XELZOO/pX7kEHH0ErO2M9gZehdHcuwW3nBAOd7lZMYrxzOebumY8 pbcvuoXDJCcP0jyWBUOxJiOPksINe4dcYYtR00ugQtH6Cff6dHRV1x4oguN0P9wNfEpbe/xeZ kEPxBWNwxf8Maf/ybnbPhFX7qhp1p6sO7EtnaS1BONrkR9qte4hbDH6b5EBr8QMCOxFsZ5kQP dudaX8c9Djh2JdjFlOCZTjHSujuMqkJdK8K4ZC6cuAX3n21e/ZOB+CC4CUPiRcUz/4QPl+whh AZpPQhtnMXW6LME24jlSaRxfPzSXhUJ+EkyiU0t66Y72AlfApm0DiEdtHf89ypyMdt3qoSEoe RpRt7KtmI/k9rrinnpIVgaWifTs7aXuIas8CFiyYTUCy9KcgFBYL+ZKZVBoQ2j1hffe9yg7FC gy4oCibopt9CY/JKO3S5N5e+pEhsbqTmsD34dHECY9rIXGwYrC4AxXp9mZYC1NwWwqrbQ2Y51 Y9yIHBHRxtCl/qDEZlBBgzHYZbS2mOgZ1zDlSNm4YEBjcLNFGkdxWrHsp/LaOoCyZ+iLzB+iL yd86EJ9shjZGQ2hFi4magGJ6EDhYtTwzOPuPx+KBNUotK7vlR0= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Thu, 2 Nov 2017 10:45:08 +0100 * Add a jump target so that a specific error message is stored only once at the end of this function implementation. * Replace two calls of the function "dev_err" by goto statements. * Adjust two condition checks. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/rtc/rtc-ds1302.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/rtc/rtc-ds1302.c b/drivers/rtc/rtc-ds1302.c index 0ec4be62322b..06ef64736ac3 100644 --- a/drivers/rtc/rtc-ds1302.c +++ b/drivers/rtc/rtc-ds1302.c @@ -132,19 +132,13 @@ static int ds1302_probe(struct spi_device *spi) addr = RTC_ADDR_CTRL << 1 | RTC_CMD_READ; status = spi_write_then_read(spi, &addr, sizeof(addr), buf, 1); - if (status < 0) { - dev_err(&spi->dev, "control register read error %d\n", - status); - return status; - } + if (status) + goto report_read_failure; if ((buf[0] & ~RTC_CMD_WRITE_DISABLE) != 0) { status = spi_write_then_read(spi, &addr, sizeof(addr), buf, 1); - if (status < 0) { - dev_err(&spi->dev, "control register read error %d\n", - status); - return status; - } + if (status) + goto report_read_failure; if ((buf[0] & ~RTC_CMD_WRITE_DISABLE) != 0) { dev_err(&spi->dev, "junk in control register\n"); @@ -189,6 +183,10 @@ static int ds1302_probe(struct spi_device *spi) } return 0; + +report_read_failure: + dev_err(&spi->dev, "control register read error %d\n", status); + return status; } static int ds1302_remove(struct spi_device *spi) -- 2.14.3