From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936400AbcA1Bfv (ORCPT ); Wed, 27 Jan 2016 20:35:51 -0500 Received: from lucky1.263xmail.com ([211.157.147.133]:60853 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966502AbcA1Bfk (ORCPT ); Wed, 27 Jan 2016 20:35:40 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: shawn.lin@rock-chips.com X-FST-TO: jh80.chung@samsung.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: shawn.lin@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 From: Shawn Lin To: Jaehoon Chung , Ulf Hansson Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Lin Subject: [PATCH 2/4] mmc: dw_mmc: add setup_clk for init hook Date: Thu, 28 Jan 2016 09:31:04 +0800 Message-Id: <1453944664-16874-1-git-send-email-shawn.lin@rock-chips.com> X-Mailer: git-send-email 1.8.0 In-Reply-To: <1453944616-16224-1-git-send-email-shawn.lin@rock-chips.com> References: <1453944616-16224-1-git-send-email-shawn.lin@rock-chips.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We add this new argument into init hook for variant drivers to decide whether to do clock related stuff inside the hook. Signed-off-by: Shawn Lin --- drivers/mmc/host/dw_mmc-exynos.c | 4 ++-- drivers/mmc/host/dw_mmc-rockchip.c | 2 +- drivers/mmc/host/dw_mmc.c | 2 +- drivers/mmc/host/dw_mmc.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c index 3a7e835..edaa117 100644 --- a/drivers/mmc/host/dw_mmc-exynos.c +++ b/drivers/mmc/host/dw_mmc-exynos.c @@ -91,7 +91,7 @@ static inline u8 dw_mci_exynos_get_ciu_div(struct dw_mci *host) return SDMMC_CLKSEL_GET_DIV(mci_readl(host, CLKSEL)) + 1; } -static int dw_mci_exynos_priv_init(struct dw_mci *host) +static int dw_mci_exynos_priv_init(struct dw_mci *host, bool setup_clk) { struct dw_mci_exynos_priv_data *priv = host->priv; @@ -159,7 +159,7 @@ static int dw_mci_exynos_resume(struct device *dev) { struct dw_mci *host = dev_get_drvdata(dev); - dw_mci_exynos_priv_init(host); + dw_mci_exynos_priv_init(host, false); return dw_mci_resume(host); } diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c index 9934503..885c801 100644 --- a/drivers/mmc/host/dw_mmc-rockchip.c +++ b/drivers/mmc/host/dw_mmc-rockchip.c @@ -221,7 +221,7 @@ static int dw_mci_rk3288_parse_dt(struct dw_mci *host) return 0; } -static int dw_mci_rockchip_init(struct dw_mci *host) +static int dw_mci_rockchip_init(struct dw_mci *host, bool setup_clk) { /* It is slot 8 on Rockchip SoCs */ host->sdio_id0 = 8; diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 7128351..1d27a2b 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -2995,7 +2995,7 @@ int dw_mci_probe(struct dw_mci *host) } if (drv_data && drv_data->init) { - ret = drv_data->init(host); + ret = drv_data->init(host, true); if (ret) { dev_err(host->dev, "implementation specific init failed\n"); diff --git a/drivers/mmc/host/dw_mmc.h b/drivers/mmc/host/dw_mmc.h index f695b58..1a9492e 100644 --- a/drivers/mmc/host/dw_mmc.h +++ b/drivers/mmc/host/dw_mmc.h @@ -285,7 +285,7 @@ struct dw_mci_slot { */ struct dw_mci_drv_data { unsigned long *caps; - int (*init)(struct dw_mci *host); + int (*init)(struct dw_mci *host, bool setup_clk); int (*setup_clock)(struct dw_mci *host); void (*prepare_command)(struct dw_mci *host, u32 *cmdr); void (*set_ios)(struct dw_mci *host, struct mmc_ios *ios); -- 2.3.7