{"id":807423,"url":"http://patchwork.ozlabs.org/api/1.0/patches/807423/?format=json","project":{"id":35,"url":"http://patchwork.ozlabs.org/api/1.0/projects/35/?format=json","name":"Linux I2C development","link_name":"linux-i2c","list_id":"linux-i2c.vger.kernel.org","list_email":"linux-i2c@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<1504073857-122449-3-git-send-email-preid@electromag.com.au>","date":"2017-08-30T06:17:35","name":"[v3,2/4] i2c: designware: move i2c_dw_plat_prepare_clk to common","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":false,"hash":"1f46cc520ff62495aa6f6469b6dcae882cb68863","submitter":{"id":66145,"url":"http://patchwork.ozlabs.org/api/1.0/people/66145/?format=json","name":"Phil Reid","email":"preid@electromag.com.au"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-i2c/patch/1504073857-122449-3-git-send-email-preid@electromag.com.au/mbox/","series":[{"id":531,"url":"http://patchwork.ozlabs.org/api/1.0/series/531/?format=json","date":"2017-08-30T06:17:35","name":"i2c: designware: add i2c gpio recovery option","version":3,"mbox":"http://patchwork.ozlabs.org/series/531/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807423/checks/","tags":{},"headers":{"Return-Path":"<linux-i2c-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-i2c-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhwKQ5XvJz9t0M\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 16:17:46 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750844AbdH3GRp (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 30 Aug 2017 02:17:45 -0400","from anchovy1.45ru.net.au ([203.30.46.145]:37980 \"EHLO\n\tanchovy.45ru.net.au\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1750803AbdH3GRo (ORCPT\n\t<rfc822; linux-i2c@vger.kernel.org>); Wed, 30 Aug 2017 02:17:44 -0400","(qmail 26575 invoked by uid 5089); 30 Aug 2017 06:17:41 -0000","by simscan 1.2.0 ppid: 26437, pid: 26438, t: 0.0476s\n\tscanners: regex: 1.2.0 attach: 1.2.0 clamav: 0.88.3/m:40/d:1950","from unknown (HELO preid-centos7.electromag.com.au)\n\t(preid@electromag.com.au@203.59.230.133)\n\tby anchovy1.45ru.net.au with ESMTPA; 30 Aug 2017 06:17:41 -0000","by preid-centos7.electromag.com.au (Postfix, from userid 1000)\n\tid 32A6D333CE9F6; Wed, 30 Aug 2017 14:17:40 +0800 (AWST)"],"X-RBL":"$rbltext","From":"Phil Reid <preid@electromag.com.au>","To":"jarkko.nikula@linux.intel.com, andriy.shevchenko@linux.intel.com,\n\tmika.westerberg@linux.intel.com, wsa@the-dreams.de,\n\ttim@krieglstein.org, preid@electromag.com.au, linux-i2c@vger.kernel.org","Subject":"[PATCH v3 2/4] i2c: designware: move i2c_dw_plat_prepare_clk to\n\tcommon","Date":"Wed, 30 Aug 2017 14:17:35 +0800","Message-Id":"<1504073857-122449-3-git-send-email-preid@electromag.com.au>","X-Mailer":"git-send-email 1.8.3.1","In-Reply-To":"<1504073857-122449-1-git-send-email-preid@electromag.com.au>","References":"<1504073857-122449-1-git-send-email-preid@electromag.com.au>","Sender":"linux-i2c-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-i2c.vger.kernel.org>","X-Mailing-List":"linux-i2c@vger.kernel.org"},"content":"Move the i2c_dw_plat_prepare_clk funciton to common file in preparation\nfor its use also by the master driver.\n\nSigned-off-by: Phil Reid <preid@electromag.com.au>\n---\n drivers/i2c/busses/i2c-designware-common.c  | 13 +++++++++++++\n drivers/i2c/busses/i2c-designware-core.h    |  1 +\n drivers/i2c/busses/i2c-designware-platdrv.c | 12 ------------\n 3 files changed, 14 insertions(+), 12 deletions(-)","diff":"diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c\nindex d1a6937..b79f342 100644\n--- a/drivers/i2c/busses/i2c-designware-common.c\n+++ b/drivers/i2c/busses/i2c-designware-common.c\n@@ -21,6 +21,7 @@\n  * ----------------------------------------------------------------------------\n  *\n  */\n+#include <linux/clk.h>\n #include <linux/delay.h>\n #include <linux/export.h>\n #include <linux/errno.h>\n@@ -185,6 +186,18 @@ unsigned long i2c_dw_clk_rate(struct dw_i2c_dev *dev)\n \treturn dev->get_clk_rate_khz(dev);\n }\n \n+int i2c_dw_plat_prepare_clk(struct dw_i2c_dev *i_dev, bool prepare)\n+{\n+\tif (IS_ERR(i_dev->clk))\n+\t\treturn PTR_ERR(i_dev->clk);\n+\n+\tif (prepare)\n+\t\treturn clk_prepare_enable(i_dev->clk);\n+\n+\tclk_disable_unprepare(i_dev->clk);\n+\treturn 0;\n+}\n+\n int i2c_dw_acquire_lock(struct dw_i2c_dev *dev)\n {\n \tint ret;\ndiff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h\nindex 9fee4c0..b2a31cb 100644\n--- a/drivers/i2c/busses/i2c-designware-core.h\n+++ b/drivers/i2c/busses/i2c-designware-core.h\n@@ -299,6 +299,7 @@ struct dw_i2c_dev {\n void __i2c_dw_enable(struct dw_i2c_dev *dev, bool enable);\n void __i2c_dw_enable_and_wait(struct dw_i2c_dev *dev, bool enable);\n unsigned long i2c_dw_clk_rate(struct dw_i2c_dev *dev);\n+int i2c_dw_plat_prepare_clk(struct dw_i2c_dev *i_dev, bool prepare);\n int i2c_dw_acquire_lock(struct dw_i2c_dev *dev);\n void i2c_dw_release_lock(struct dw_i2c_dev *dev);\n int i2c_dw_wait_bus_not_busy(struct dw_i2c_dev *dev);\ndiff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c\nindex 56a17fd..14e7fab 100644\n--- a/drivers/i2c/busses/i2c-designware-platdrv.c\n+++ b/drivers/i2c/busses/i2c-designware-platdrv.c\n@@ -214,18 +214,6 @@ static void i2c_dw_configure_slave(struct dw_i2c_dev *dev)\n \t}\n }\n \n-static int i2c_dw_plat_prepare_clk(struct dw_i2c_dev *i_dev, bool prepare)\n-{\n-\tif (IS_ERR(i_dev->clk))\n-\t\treturn PTR_ERR(i_dev->clk);\n-\n-\tif (prepare)\n-\t\treturn clk_prepare_enable(i_dev->clk);\n-\n-\tclk_disable_unprepare(i_dev->clk);\n-\treturn 0;\n-}\n-\n static void dw_i2c_set_fifo_size(struct dw_i2c_dev *dev, int id)\n {\n \tu32 param, tx_fifo_depth, rx_fifo_depth;\n","prefixes":["v3","2/4"]}