From patchwork Wed Apr 11 14:38:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 897213 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; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="ZfZoRptr"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40LmrL14nVz9s27 for ; Thu, 12 Apr 2018 00:38:58 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753437AbeDKOii (ORCPT ); Wed, 11 Apr 2018 10:38:38 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:34680 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753536AbeDKOig (ORCPT ); Wed, 11 Apr 2018 10:38:36 -0400 Received: by mail-wr0-f194.google.com with SMTP id d19so2034672wre.1 for ; Wed, 11 Apr 2018 07:38:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=bPj78wesiG/EzCfpmSKHmALRpajZKfzSFOyJhaoGSCo=; b=ZfZoRptrkBD9YTx8jJS8Uwq++jBl9uuuB+HMc1ySnEKx5jhFQozfRi0oS5JO/6yM4r BLAiJfa0mdsW0grrMSpUwIvLSSrE3/N79QYp89fRsNnFyGLPmA6CIwm1BicEqUhC4Ax2 LAmoeNyneMbM8Mc8kPwTWLsnNUM0PCbBeC9UjI81hnmePXsnibw+yRwGnI+T4bWHEgNl h0+iXurKKllxQYOFzFYa1xGk0HRrR0KBSCT1vs6DgAZ1ZBOo+6pvcSpa8FGuSgEliRx8 i9/yTnFUnAGjBABZO+IQtMDfshOSJ93AjtpiJwx99UtXzTHVcTIeL9bj1DzhsNDhrz3V HnnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=bPj78wesiG/EzCfpmSKHmALRpajZKfzSFOyJhaoGSCo=; b=NI7UoBCQycsTrJY9PJQckQXYiA54OZiaQzmhMY8yWUmcMRE/5HV7oYGDHjgCNtQCHQ GHgxcjsXBSECwmpR0ssf5PngCO49Y95w4hm3mOuHPLnfh3NRaSDptAbiXxQwrLy3Blmv IFon8vw3N1095FY+xheyguKFHoYr+3hAhcZ3hBMFcIknHlAT6irat4aB8yH59UiM8UCQ JTSTjo79y/oe+Qi7VYApheE3DZUl9Au65uhlKy03shb+Mb3DiY8shpy1viT35apc4zXr 7/nCNkxQS4X4il2n5Dy1I/FEtT8hyYB9M5U32WxUShDvU+csmV/mo3nqwRqkXvxxGBXl NppA== X-Gm-Message-State: ALQs6tBoQDnpjqvMYwHSUTPVo1ORhFTARc3D9oJQ8UKKt4mDehjsgwc3 N9StpROEluJ1bmdTulaQ5REQjg== X-Google-Smtp-Source: AIpwx4/CJ5sNE6XljWC1QkWiKP26z6I9vl79YjXu6M9gnLD6iY6hfJM9KIrlSBy2Gr24V5RrYDvkBA== X-Received: by 10.223.226.13 with SMTP id j13mr3885550wri.118.1523457515582; Wed, 11 Apr 2018 07:38:35 -0700 (PDT) Received: from brgl-bgdev.baylibre.local ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id 44sm991245wrk.48.2018.04.11.07.38.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Apr 2018 07:38:34 -0700 (PDT) From: Bartosz Golaszewski To: Andy Shevchenko , Peter Rosin , Sven Van Asbroeck Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH v2 2/3] eeprom: at24: provide and use a helper for releasing dummy i2c clients Date: Wed, 11 Apr 2018 16:38:27 +0200 Message-Id: <20180411143828.1046-3-brgl@bgdev.pl> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411143828.1046-1-brgl@bgdev.pl> References: <20180411143828.1046-1-brgl@bgdev.pl> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org This allows us to drop two opencoded for loops. We also don't need to check if the i2c client is NULL before calling i2c_unregister_device(). Signed-off-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 02c9dd835547..163ef7bf18e3 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -532,6 +532,14 @@ static int at24_get_pdata(struct device *dev, struct at24_platform_data *pdata) return 0; } +static void at24_remove_dummy_clients(struct at24_data *at24) +{ + int i; + + for (i = 1; i < at24->num_addresses; i++) + i2c_unregister_device(at24->client[i].client); +} + static unsigned int at24_get_offset_adj(u8 flags, unsigned int byte_len) { if (flags & AT24_FLAG_MAC) { @@ -702,10 +710,7 @@ static int at24_probe(struct i2c_client *client) return 0; err_clients: - for (i = 1; i < num_addresses; i++) - if (at24->client[i].client) - i2c_unregister_device(at24->client[i].client); - + at24_remove_dummy_clients(at24); pm_runtime_disable(dev); return err; @@ -714,13 +719,10 @@ static int at24_probe(struct i2c_client *client) static int at24_remove(struct i2c_client *client) { struct at24_data *at24; - int i; at24 = i2c_get_clientdata(client); - for (i = 1; i < at24->num_addresses; i++) - i2c_unregister_device(at24->client[i].client); - + at24_remove_dummy_clients(at24); pm_runtime_disable(&client->dev); pm_runtime_set_suspended(&client->dev);