From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751667Ab2H1DWz (ORCPT ); Mon, 27 Aug 2012 23:22:55 -0400 Received: from db3ehsobe006.messaging.microsoft.com ([213.199.154.144]:50197 "EHLO db3outboundpool.messaging.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751133Ab2H1DWx (ORCPT ); Mon, 27 Aug 2012 23:22:53 -0400 X-Forefront-Antispam-Report: CIP:70.37.183.190;KIP:(null);UIP:(null);IPV:NLI;H:mail.freescale.net;RD:none;EFVD:NLI X-SpamScore: -4 X-BigFish: VS-4(zcb8kz98dI154dM1432Izz1202hzz8275dhz2dh2a8h668h839h944hd25hf0ah107ah1155h) Date: Tue, 28 Aug 2012 11:23:10 +0800 From: Richard Zhao To: Dong Aisheng CC: , , , , , , , , , , , , Subject: Re: [PATCH v2 5/7] ARM: imx6q: convert to use syscon to access anatop registers Message-ID: <20120828032309.GW4011@b20223-02.ap.freescale.net> References: <1346052285-4344-1-git-send-email-b29396@freescale.com> <1346052285-4344-6-git-send-email-b29396@freescale.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1346052285-4344-6-git-send-email-b29396@freescale.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 27, 2012 at 03:24:43PM +0800, Dong Aisheng wrote: > From: Dong Aisheng > > Using syscon to access anatop registers. > > Signed-off-by: Dong Aisheng > --- > ChangeLog v1->v2: > * update to use generic regmap api > --- > arch/arm/mach-imx/Kconfig | 2 +- > arch/arm/mach-imx/mach-imx6q.c | 43 ++++++++++++++++----------------------- > 2 files changed, 19 insertions(+), 26 deletions(-) > > diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig > index afd542a..7bba253 100644 > --- a/arch/arm/mach-imx/Kconfig > +++ b/arch/arm/mach-imx/Kconfig > @@ -839,7 +839,7 @@ config SOC_IMX6Q > select HAVE_IMX_MMDC > select HAVE_IMX_SRC > select HAVE_SMP > - select MFD_ANATOP > + select MFD_SYSCON > select PINCTRL > select PINCTRL_IMX6Q > > diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c > index 045b3f6..5de869a 100644 > --- a/arch/arm/mach-imx/mach-imx6q.c > +++ b/arch/arm/mach-imx/mach-imx6q.c > @@ -24,8 +24,9 @@ > #include > #include > #include > +#include > #include > -#include > +#include > #include > #include > #include > @@ -121,38 +122,30 @@ static void __init imx6q_sabrelite_init(void) > static void __init imx6q_usb_init(void) > { > struct device_node *np; > - struct platform_device *pdev = NULL; > - struct anatop *adata = NULL; > + struct regmap *anatop; > > np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop"); np unused. > - if (np) > - pdev = of_find_device_by_node(np); > - if (pdev) > - adata = platform_get_drvdata(pdev); > - if (!adata) { > - if (np) > - of_node_put(np); > - return; > - } > - > #define HW_ANADIG_USB1_CHRG_DETECT 0x000001b0 > #define HW_ANADIG_USB2_CHRG_DETECT 0x00000210 > > #define BM_ANADIG_USB_CHRG_DETECT_EN_B 0x00100000 > #define BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B 0x00080000 > > - /* > - * The external charger detector needs to be disabled, > - * or the signal at DP will be poor > - */ > - anatop_write_reg(adata, HW_ANADIG_USB1_CHRG_DETECT, > - BM_ANADIG_USB_CHRG_DETECT_EN_B > - | BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B, > - ~0); > - anatop_write_reg(adata, HW_ANADIG_USB2_CHRG_DETECT, > - BM_ANADIG_USB_CHRG_DETECT_EN_B | > - BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B, > - ~0); > + anatop = syscon_regmap_lookup_by_compatible("fsl,imx6q-anatop"); > + if (!IS_ERR(anatop)) { > + /* > + * The external charger detector needs to be disabled, > + * or the signal at DP will be poor > + */ > + regmap_write(anatop, HW_ANADIG_USB1_CHRG_DETECT, > + BM_ANADIG_USB_CHRG_DETECT_EN_B > + | BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B); > + regmap_write(anatop, HW_ANADIG_USB2_CHRG_DETECT, > + BM_ANADIG_USB_CHRG_DETECT_EN_B | > + BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B); > + } else { > + pr_warn("failed to find fsl,imx6q-anatop regmap\n"); > + } > > of_node_put(np); unneeded. Thanks Richard > } > -- > 1.7.0.4 >