From patchwork Thu Jul 10 08:07:06 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 33408 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ig0-f200.google.com (mail-ig0-f200.google.com [209.85.213.200]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id C2085203F4 for ; Thu, 10 Jul 2014 08:30:49 +0000 (UTC) Received: by mail-ig0-f200.google.com with SMTP id hn18sf9196697igb.11 for ; Thu, 10 Jul 2014 01:30:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=pTjApzxcAPKkCMyG0pu0RZFlYsz1q3y8UeYKfMNU5uU=; b=fUj9LlfJwn/iIO/d73m4m7pLcmpYJcizyWujEsEgH3vk9mlFCNzI/nhMTRu8TPW/do eRVBUdDzqmCjV0R70nylbJpXbmUywY2MrgMQ4NsiBVCsACQWEI031nWPZExSvconTt4g bn+0DhGcfuyNSnnkpIHAdjbuOUBBFFXdj8xnyuAqueDVnMvpnMCLUNbMAXpYX9OXna5N CerBmf9DUrnbam2LNVf/hnSavr8YTrNr1Dd5wKyU86snh6uC9/No/97pfrwdggg3ykx7 jQR7jYbz/keqoihMiGDu5ZadSXYtrKKUnn2pqjKXY4a9qfyY2PJfkM8vS5zjVoSFhugK pjnA== X-Gm-Message-State: ALoCoQlFjYGRRm+7iipp/b/u5ceKvb8o8xNbw8kHyTzn1opSEJX8thKm0T05RzHYaPO8R9muxYXA X-Received: by 10.50.85.6 with SMTP id d6mr6875590igz.0.1404981049341; Thu, 10 Jul 2014 01:30:49 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.27.171 with SMTP id 40ls465qgx.9.gmail; Thu, 10 Jul 2014 01:30:49 -0700 (PDT) X-Received: by 10.220.177.133 with SMTP id bi5mr2122692vcb.26.1404981049252; Thu, 10 Jul 2014 01:30:49 -0700 (PDT) Received: from mail-vc0-f172.google.com (mail-vc0-f172.google.com [209.85.220.172]) by mx.google.com with ESMTPS id ai5si6064598vdc.32.2014.07.10.01.30.49 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Jul 2014 01:30:49 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.172 as permitted sender) client-ip=209.85.220.172; Received: by mail-vc0-f172.google.com with SMTP id hy10so9807985vcb.17 for ; Thu, 10 Jul 2014 01:30:49 -0700 (PDT) X-Received: by 10.58.65.104 with SMTP id w8mr22867789ves.19.1404981049126; Thu, 10 Jul 2014 01:30:49 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.221.37.5 with SMTP id tc5csp114623vcb; Thu, 10 Jul 2014 01:30:48 -0700 (PDT) X-Received: by 10.50.43.202 with SMTP id y10mr19723422igl.10.1404981048528; Thu, 10 Jul 2014 01:30:48 -0700 (PDT) Received: from mail-ig0-f170.google.com (mail-ig0-f170.google.com [209.85.213.170]) by mx.google.com with ESMTPS id dx4si75339727icc.39.2014.07.10.01.30.48 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Jul 2014 01:30:48 -0700 (PDT) Received-SPF: pass (google.com: domain of lee.jones@linaro.org designates 209.85.213.170 as permitted sender) client-ip=209.85.213.170; Received: by mail-ig0-f170.google.com with SMTP id h15so2826391igd.1 for ; Thu, 10 Jul 2014 01:30:48 -0700 (PDT) X-Received: by 10.50.97.104 with SMTP id dz8mr19774352igb.3.1404981048222; Thu, 10 Jul 2014 01:30:48 -0700 (PDT) Received: from localhost.localdomain (host86-181-29-22.range86-181.btcentralplus.com. [86.181.29.22]) by mx.google.com with ESMTPSA id y11sm11822014igp.14.2014.07.10.01.30.46 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Jul 2014 01:30:47 -0700 (PDT) From: Lee Jones To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: rickard_strandqvist@spectrumdigital.se, Lee Jones , Bryan Wu Subject: [PATCH] backlight: jornada720: Minimise code duplication and handle errors better Date: Thu, 10 Jul 2014 09:07:06 +0100 Message-Id: <1404979626-10951-1-git-send-email-lee.jones@linaro.org> X-Mailer: git-send-email 1.8.3.2 X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: lee.jones@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.172 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Rickard Strandqvi's ran a code analysis application which found that jornada_lcd_get_contrast(() and jornada_lcd_set_contrast() contained some code duplication (calling the same functions during various code execution paths) and failed to return errors in a consistent manner. This patch aims to simplify the code, coercing it into behaving at a level expected of a driver in the Linux kernel. Cc: Bryan Wu Suggested-by: Rickard Strandqvist Acked-by: Jingoo Han Reviewed-by: Rickard Strandqvist Signed-off-by: Lee Jones --- drivers/video/backlight/jornada720_lcd.c | 37 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/drivers/video/backlight/jornada720_lcd.c b/drivers/video/backlight/jornada720_lcd.c index da3876c..228bc31 100644 --- a/drivers/video/backlight/jornada720_lcd.c +++ b/drivers/video/backlight/jornada720_lcd.c @@ -43,37 +43,38 @@ static int jornada_lcd_get_contrast(struct lcd_device *ld) jornada_ssp_start(); - if (jornada_ssp_byte(GETCONTRAST) != TXDUMMY) { - dev_err(&ld->dev, "get contrast failed\n"); - jornada_ssp_end(); - return -ETIMEDOUT; - } else { + if (jornada_ssp_byte(GETCONTRAST) == TXDUMMY) { ret = jornada_ssp_byte(TXDUMMY); - jornada_ssp_end(); - return ret; + goto success; } + + dev_err(&ld->dev, "failed to set contrast\n"); + ret = -ETIMEDOUT; + +success: + jornada_ssp_end(); + return ret; } static int jornada_lcd_set_contrast(struct lcd_device *ld, int value) { - int ret; + int ret = 0; jornada_ssp_start(); /* start by sending our set contrast cmd to mcu */ - ret = jornada_ssp_byte(SETCONTRAST); - - /* push the new value */ - if (jornada_ssp_byte(value) != TXDUMMY) { - dev_err(&ld->dev, "set contrast failed\n"); - jornada_ssp_end(); - return -ETIMEDOUT; + if (jornada_ssp_byte(SETCONTRAST) == TXDUMMY) { + /* if successful push the new value */ + if (jornada_ssp_byte(value) == TXDUMMY) + goto success; } - /* if we get here we can assume everything went well */ - jornada_ssp_end(); + dev_err(&ld->dev, "failed to set contrast\n"); + ret = -ETIMEDOUT; - return 0; +success: + jornada_ssp_end(); + return ret; } static int jornada_lcd_set_power(struct lcd_device *ld, int power)