From patchwork Thu Nov 30 06:49:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 842916 X-Patchwork-Delegate: bartekgola@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hBZOPp8z"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ynSgR6tQwz9sCZ for ; Thu, 30 Nov 2017 17:49:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753128AbdK3GtX (ORCPT ); Thu, 30 Nov 2017 01:49:23 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:37323 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753072AbdK3GtW (ORCPT ); Thu, 30 Nov 2017 01:49:22 -0500 Received: by mail-wm0-f65.google.com with SMTP id f140so10271166wmd.2 for ; Wed, 29 Nov 2017 22:49:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=DQEOBqKOv0bNJcPCaddE6YoOVkGULxrP4HP0MzSayfM=; b=hBZOPp8zmUeRlcP+5fqAnQv1w9TP75pGmxSsZtnvomM/rKeKXahUNv7YABc1swOw5Q 8H1RaAxa/4m+E3BEtbN0TQBxowqwz6FtFrdXXVkBiBebE0in+rKYorbdO6EQTbGEOHhp fHmPcZjwhZu9+dohS6kzB84QdLYyO6x1pP7E/q6rQndwN8ZwUYN5qiVIjdlsWlI7067Q Upi8BvzXs9FjXw5uNJ2W4FurNq02bEwgB9TCMn19cJn7WRYjz7KiWFwbo61mJv4SPolH yIh8SFkaSJz6W21OdiAPzNQJWsvU9pFQElC9HJJcTkjbDko2VL5ZePa31z0PM9ELaV0w FxFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=DQEOBqKOv0bNJcPCaddE6YoOVkGULxrP4HP0MzSayfM=; b=YJ9hDpf21UqiqWNLVbzV9qvdaFlnliH0/OYghIk0p73z5HjViqXC2167KSLX1x46Wz HNMp8HF33ladm0DxgHgmAdA2Q8MAz0KvHTWsDYUhfdCQafKpaaXpZz9zjV3ljcCrGnQ9 XNAdnX1ucypXyWoNrZhDrDDN7/0y65n9OWHdVuja3UG4j0zFPBCbY36d/qNYpcoh53cU F/43BgQ65NMOR9lZXKDPq021BIn2fAx75p7au40wXpa/sCP947VAt5lAx23a1FW8EqbC fKxC8OuOThBFOOaqxsCO46yD0y/AWoQbBe6LUcnqFiPVNegGgtVA7J/NqyY5WA+1clWp rHOQ== X-Gm-Message-State: AJaThX4sMuWTvcsSV5pmGcPVaqGg/aJSJurPd8Rx4bCd1g7ePFEqvn0j LpXvYq8InV2mIxoS3WVfKJtabw== X-Google-Smtp-Source: AGs4zMaLn+8Vw5QncOGpSEJyvO22pXZmDuusoNMw4TSbZSOxuNPHOiGiviMYZ14A4u5A6QkHoAs+Yw== X-Received: by 10.80.182.118 with SMTP id c51mr11634701ede.204.1512024561090; Wed, 29 Nov 2017 22:49:21 -0800 (PST) Received: from ?IPv6:2003:ea:8bc0:e400:18fb:3267:4d37:78c7? (p200300EA8BC0E40018FB32674D3778C7.dip0.t-ipconnect.de. [2003:ea:8bc0:e400:18fb:3267:4d37:78c7]) by smtp.googlemail.com with ESMTPSA id s6sm2634147edd.23.2017.11.29.22.49.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Nov 2017 22:49:20 -0800 (PST) From: Heiner Kallweit Subject: [PATCH 4/7] eeprom: at24: simplify functions at24_read/write a little To: Bartosz Golaszewski Cc: "linux-i2c@vger.kernel.org" References: Message-ID: <1b2f8ac8-02ae-d615-8c23-6d90f52be555@gmail.com> Date: Thu, 30 Nov 2017 07:49:06 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Simplify functions at24_read/write a little. Signed-off-by: Heiner Kallweit --- drivers/misc/eeprom/at24.c | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index d56be71f1..837f1d88c 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -374,24 +374,20 @@ static int at24_read(void *priv, unsigned int off, void *val, size_t count) mutex_lock(&at24->lock); while (count) { - int status; + ret = at24_regmap_read(at24, buf, off, count); + if (ret < 0) + goto out; - status = at24_regmap_read(at24, buf, off, count); - if (status < 0) { - mutex_unlock(&at24->lock); - pm_runtime_put(&client->dev); - return status; - } - buf += status; - off += status; - count -= status; + buf += ret; + off += ret; + count -= ret; } - +out: mutex_unlock(&at24->lock); pm_runtime_put(&client->dev); - return 0; + return ret < 0 ? ret : 0; } static int at24_write(void *priv, unsigned int off, void *val, size_t count) @@ -424,24 +420,20 @@ static int at24_write(void *priv, unsigned int off, void *val, size_t count) mutex_lock(&at24->lock); while (count) { - int status; + ret = at24_regmap_write(at24, buf, off, count); + if (ret < 0) + goto out; - status = at24_regmap_write(at24, buf, off, count); - if (status < 0) { - mutex_unlock(&at24->lock); - pm_runtime_put(&client->dev); - return status; - } - buf += status; - off += status; - count -= status; + buf += ret; + off += ret; + count -= ret; } - +out: mutex_unlock(&at24->lock); pm_runtime_put(&client->dev); - return 0; + return ret < 0 ? ret : 0; } static void at24_get_pdata(struct device *dev, struct at24_platform_data *chip)