From patchwork Tue Aug 13 09:11:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Barry Song <21cnbao@gmail.com> X-Patchwork-Id: 266759 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 B73D32C00F3 for ; Tue, 13 Aug 2013 19:13:19 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756006Ab3HMJNT (ORCPT ); Tue, 13 Aug 2013 05:13:19 -0400 Received: from mail-pb0-f52.google.com ([209.85.160.52]:43694 "EHLO mail-pb0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753818Ab3HMJNS (ORCPT ); Tue, 13 Aug 2013 05:13:18 -0400 Received: by mail-pb0-f52.google.com with SMTP id wz12so4439924pbc.11 for ; Tue, 13 Aug 2013 02:13:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ylONSw7D7EATWivNSQvrIdMRMZgADx7/mRk6UtJ6414=; b=VC2tatLDlfePo/5f5VGkKj/2tUDwI22mMP8ayRn6uo0UBYecol2bdU+txqrBiuU5UJ DSEKS7sJ6Ge7ZXTUawAGFjOPhl0910T0YjYemuXj048h9AB1Q/RdcJBBIn9Tv1kkvnAj l9nBHtbuPaTGq8DGnKxYNLIm7g/60d3lWYaV5fYJJljQOHR/0XTsV1S1QysiPMILS26J 3KslIzo3kKHsMCxhoGKiRDWZXvqAYOj9KgevWVjuxTbAZ5jNKd6lO2EZMCXEAPtanR9R OJxD8ka0v2Ttc+aMfQO7+Wb3wxuJRRke/lRzU7zsg1zelikhCvYu4Ypn/xO6gPYNiBSe rBWA== X-Received: by 10.66.170.138 with SMTP id am10mr3422612pac.51.1376385198225; Tue, 13 Aug 2013 02:13:18 -0700 (PDT) Received: from localhost.localdomain ([117.136.8.11]) by mx.google.com with ESMTPSA id mz5sm11805828pbc.18.2013.08.13.02.13.10 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 13 Aug 2013 02:13:17 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: wsa@the-dreams.de, linux-i2c@vger.kernel.org Cc: workgroup.linux@csr.com, Zhiwu Song , Rongjun Ying , Barry Song Subject: [PATCH 4/5] i2c: sirfsoc: support reverse direction of address Date: Tue, 13 Aug 2013 17:11:30 +0800 Message-Id: <1376385091-30597-5-git-send-email-Baohua.Song@csr.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <1376385091-30597-1-git-send-email-Baohua.Song@csr.com> References: <1376385091-30597-1-git-send-email-Baohua.Song@csr.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Zhiwu Song if users set I2C_M_REV_DIR_ADDR, revert the direction of address. Signed-off-by: Zhiwu Song Signed-off-by: Rongjun Ying Signed-off-by: Barry Song --- drivers/i2c/busses/i2c-sirf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/i2c/busses/i2c-sirf.c b/drivers/i2c/busses/i2c-sirf.c index 746388f..d2b7913 100644 --- a/drivers/i2c/busses/i2c-sirf.c +++ b/drivers/i2c/busses/i2c-sirf.c @@ -195,6 +195,10 @@ static void i2c_sirfsoc_set_address(struct sirfsoc_i2c *siic, if (msg->flags & I2C_M_RD) addr |= 1; + /* Reverse direction bit */ + if (msg->flags & I2C_M_REV_DIR_ADDR) + addr ^= 1; + writel(addr, siic->base + SIRFSOC_I2C_CMD(siic->cmd_ptr++)); }