From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932199AbdJVUZT (ORCPT ); Sun, 22 Oct 2017 16:25:19 -0400 Received: from mout.web.de ([212.227.17.11]:62144 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932105AbdJVUZR (ORCPT ); Sun, 22 Oct 2017 16:25:17 -0400 Subject: Re: [PATCH] crypto/s5p-sss: Use common error handling code in s5p_aes_probe() To: Krzysztof Kozlowski , linux-crypto@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: "David S. Miller" , Herbert Xu , Vladimir Zapolskiy , LKML , kernel-janitors@vger.kernel.org References: <791df15e-3a35-d270-0acf-1661bd89adad@users.sourceforge.net> <20171022190327.mfndyyr4b4iinv2d@kozik-lap> From: SF Markus Elfring Message-ID: <75d2f79d-eb37-9bf6-91dd-7706c0dc2ec3@users.sourceforge.net> Date: Sun, 22 Oct 2017 22:24:48 +0200 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: <20171022190327.mfndyyr4b4iinv2d@kozik-lap> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:75DM5czAbiyZeLTVoe+UxDB9qcuUEeDTYYoO48UR96GAE6w8tLy Seo2s89+6Gh1qUCbJbwyUl3r1R3WLOjTlcus2cerbpHw2Z/hUR2vYXUohHQ4yOQ56XDDz0a dgZxW9IT2o6rQULNPhpXC0Z0xFlLiNNVvTKs9LAcT3cfzVM/dzJuk9A9B2qNX0UGcKWs1X4 16uSGgQNam7W8XzmxUWZQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:OGwkDOJTXaY=:7vJMAqaVLVunqicGxGxCVv WrdnIRXZ1NLEvSlXoTMs/uOb72Dgvs8OKy4LWZ1hBZvGy7dcV6R436XWfKatpYAr2j2KvhfuR bDzuYwK+VLT5UFhaFlY5OqewKjmEnBO4PIt0JiCI3vLzd5B4CFLhm/W3F9z62FkLxfCIsAmc9 iwSdPF+rIDl0LaO5gUXSvvxF9FXAMvyWN8cEZATbZSx5uR0EeDG7/byF69vTgL9KzNgpbca22 28jQupGb8d+MXDXUatgbGOxzTyghJ+wxwRm0/6D3BUSW/YRV6gsD1o8jMlyNc+LvAraiF/nc5 yqIsDMMSK3iAuqGWzFhxekR1iZ5EklJg8gxe7bvzGbLOXWy+FoUFRKmdqhKpBlVTAHAYv5URo M6n/XquXHX5XJzea9cFNZRt3v0+XzcILk3CFGK8xqjhHc+pMHN3OnhykR/Q2Rvnd2nfhnbRzn 7MXcssnDTu9iaQbg+3v3GA74E2KNjRm24emDdWFhYu5jT9qrLkf8DYSaqfUrAGJBDxSebGPT5 aEwitaWvv/kx/rn6gV2QH1KZMF3okWQr1vo75wy5j5pye3Ota49a1DVvYpBWxI9aPNSJg8jay PKBdRcVCvrwz4eXtJdKmRiJBzfb+1TJ252Wkq/kVTPXsTA9NXTeUGN2o7QIY+RjCPnBSqxmAX LzxxhtWIQx2GcG+JH6RXNAwq3Kg0a7ueVFr3sl7bXin73iXIoD199XKWnx5k4VOhGSW9r4caV CSLcAsMNUjovcJkEmbZ4dkxCVM2HFGDz21wHfHqejEZd6Yf+ruIec9vm0IYviLLNSRER+sqEP ojV56/qGpweec3XbNgxC0OK7ldBXSbxeUEGEVxsgHxbkg3IqSs= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> From: Markus Elfring >> Date: Sun, 22 Oct 2017 15:00:27 +0200 >> >> Add a jump target so that a bit of exception handling can be better reused >> at the end of this function. >> >> This issue was detected by using the Coccinelle software. >> >> Signed-off-by: Markus Elfring >> --- >> drivers/crypto/s5p-sss.c | 13 +++++++------ >> 1 file changed, 7 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c >> index 7ac657f46d15..ea59e184c199 100644 >> --- a/drivers/crypto/s5p-sss.c >> +++ b/drivers/crypto/s5p-sss.c >> @@ -863,16 +863,13 @@ static int s5p_aes_probe(struct platform_device *pdev) >> pdata->irq_fc = platform_get_irq(pdev, 0); >> if (pdata->irq_fc < 0) { >> err = pdata->irq_fc; >> - dev_warn(dev, "feed control interrupt is not available.\n"); >> - goto err_irq; >> + goto report_failure; >> } >> err = devm_request_threaded_irq(dev, pdata->irq_fc, NULL, >> s5p_aes_interrupt, IRQF_ONESHOT, >> pdev->name, pdev); >> - if (err < 0) { >> - dev_warn(dev, "feed control interrupt is not available.\n"); >> - goto err_irq; >> - } >> + if (err < 0) >> + goto report_failure; > > No, one exit path just to report error does not seem to be more readable. I got an other development opinion on such an aspect. > Instead, printing error after the code causing it looks to me > as common pattern, easy to maintain. Do you care for variations in corresponding messages? > This patch does not bring improvement, in my opinion. How do you generally think about the possibility for a bit of code reduction? >> >> pdata->busy = false; >> pdata->dev = dev; >> @@ -906,6 +903,10 @@ static int s5p_aes_probe(struct platform_device *pdev) >> s5p_dev = NULL; >> >> return err; >> + >> +report_failure: >> + dev_warn(dev, "feed control interrupt is not available.\n"); >> + goto err_irq; >> } >> >> static int s5p_aes_remove(struct platform_device *pdev) >> -- >> 2.14.2 >> Would you like to take another look at other adjustments in source files which are affected by the shown change pattern? Regards, Markus