From patchwork Tue Mar 14 21:51:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 738956 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vjT6X6230z9ryr for ; Wed, 15 Mar 2017 08:54:44 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gcr752Ph"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752546AbdCNVyj (ORCPT ); Tue, 14 Mar 2017 17:54:39 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:35537 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753150AbdCNVyi (ORCPT ); Tue, 14 Mar 2017 17:54:38 -0400 Received: by mail-wm0-f65.google.com with SMTP id z63so1929367wmg.2 for ; Tue, 14 Mar 2017 14:54:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:references:cc:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=I9T9ZAkvnY2nwrhXZ68yimWuJZW6epOj8MhP3KiFwZY=; b=gcr752PheZdjuGGU4f9XzYpZcGB9e4xV+m6nIWCCLKk/9Qa5P+pch5meIZTX79Cglo 5DnS+b1utROePQ+2orv+zCEGXqF8l0lLNcXpuhUTCgSHquT/enPAP7fUeXdH2Agofpp3 2mOlRGpI0LWAMxEoDFyZDGpCyaY1yJwesO1ozM168cb8vtcamTZWH8BYQm1lSvO8EAXQ KmfxCUCd61Ti9SH5GeETX4R5+zF0USwcXfVnK7XRy2HfvERKd8pWYIMLR6Ie5qhaEIGu Ohxjrr6V5XikXKhmMt3zXJg/VG9dT3CsUFM3r8g/3NRyi+uOcST5ZNl5t9tDjeKVdhha ZPZA== 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:references:cc:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=I9T9ZAkvnY2nwrhXZ68yimWuJZW6epOj8MhP3KiFwZY=; b=IVlwyXynI6Zj6VG4vuMCjUQRIsqCMQ1vUPYU3Y4O2IWv8RYcRC6H7EFZdNPRyZs/pe WCB6ptUdShLxPtYF2suLWv5U40vUinmUCbF/XtKrLrJIXJ30H9H/NgrTXWlVHJmC2Q9P cIclRftVxMQ/E1yzitm2hUKA5pVGIxok305Skm6EfYBZk6rssmt6zDemD2Hn5vXbicK9 Ez3IVupbiMUAbIcharR6kqSYkHZnHao8+vFsaWe/nsnzqzEf4oknnvSGj/dKpQ0zhBn6 hYD5iZQm+lEBxgTujyKAfTTyEgBPisBhpeOjfBRASEDEBCM+BndlusDJOa31/om4FzV2 RfYQ== X-Gm-Message-State: AFeK/H3RHpnrtFnt2YslA6IziN506mOXE/odCy99wpfgv4l4rZWVxdjAThbvx3QfglNPkw== X-Received: by 10.28.7.13 with SMTP id 13mr16679076wmh.16.1489528471386; Tue, 14 Mar 2017 14:54:31 -0700 (PDT) Received: from ?IPv6:2003:c6:ebdc:4000:5e3:f718:f7c9:9ef? (p200300C6EBDC400005E3F718F7C909EF.dip0.t-ipconnect.de. [2003:c6:ebdc:4000:5e3:f718:f7c9:9ef]) by smtp.googlemail.com with ESMTPSA id 53sm20644018wrt.52.2017.03.14.14.54.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 Mar 2017 14:54:30 -0700 (PDT) From: Heiner Kallweit Subject: [PATCH v4 09/10] i2c: meson: remove meson_i2c_write_tokens To: Wolfram Sang , Jerome Brunet , Kevin Hilman References: <1a2ecdc8-a326-a7a7-22ec-658fd147daf4@gmail.com> Cc: "linux-i2c@vger.kernel.org" , linux-amlogic@lists.infradead.org Message-ID: <49e666dd-9fda-6380-26d7-11f76be47f1f@gmail.com> Date: Tue, 14 Mar 2017 22:51:49 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1a2ecdc8-a326-a7a7-22ec-658fd147daf4@gmail.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org meson_i2c_write_tokens is always called directly after meson_i2c_prepare_xfer (and only then). So we can simplify the code by removing meson_i2c_write_tokens and moving the two statements of meson_i2c_write_tokens to the end of meson_i2c_prepare_xfer. Signed-off-by: Heiner Kallweit --- v2: - rebased v3: - no changes v4: - no changes --- drivers/i2c/busses/i2c-meson.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/i2c/busses/i2c-meson.c b/drivers/i2c/busses/i2c-meson.c index 6c873ed8..23f25efa 100644 --- a/drivers/i2c/busses/i2c-meson.c +++ b/drivers/i2c/busses/i2c-meson.c @@ -123,12 +123,6 @@ static void meson_i2c_add_token(struct meson_i2c *i2c, int token) i2c->num_tokens++; } -static void meson_i2c_write_tokens(struct meson_i2c *i2c) -{ - writel(i2c->tokens[0], i2c->regs + REG_TOK_LIST0); - writel(i2c->tokens[1], i2c->regs + REG_TOK_LIST1); -} - static void meson_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq) { unsigned long clk_rate = clk_get_rate(i2c->clk); @@ -207,6 +201,9 @@ static void meson_i2c_prepare_xfer(struct meson_i2c *i2c) if (i2c->last && i2c->pos + i2c->count >= i2c->msg->len) meson_i2c_add_token(i2c, TOKEN_STOP); + + writel(i2c->tokens[0], i2c->regs + REG_TOK_LIST0); + writel(i2c->tokens[1], i2c->regs + REG_TOK_LIST1); } static irqreturn_t meson_i2c_irq(int irqno, void *dev_id) @@ -272,12 +269,10 @@ static irqreturn_t meson_i2c_irq(int irqno, void *dev_id) } out: - if (i2c->state != STATE_IDLE) { + if (i2c->state != STATE_IDLE) /* Restart the processing */ - meson_i2c_write_tokens(i2c); meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, REG_CTRL_START); - } spin_unlock(&i2c->lock); @@ -318,7 +313,6 @@ static int meson_i2c_xfer_msg(struct meson_i2c *i2c, struct i2c_msg *msg, i2c->state = (msg->flags & I2C_M_RD) ? STATE_READ : STATE_WRITE; meson_i2c_prepare_xfer(i2c); - meson_i2c_write_tokens(i2c); reinit_completion(&i2c->done); /* Start the transfer */