From mboxrd@z Thu Jan 1 00:00:00 1970 From: b29396@freescale.com (Dong Aisheng) Date: Thu, 23 Aug 2012 15:32:04 +0800 Subject: [PATCH 4/7] regulator: anatop-regulator: convert to use imx-syscon to access anatop register In-Reply-To: <5035BDBF.9020602@wwwdotorg.org> References: <1345619928-15446-1-git-send-email-b29396@freescale.com> <1345619928-15446-5-git-send-email-b29396@freescale.com> <5035BDBF.9020602@wwwdotorg.org> Message-ID: <20120823073203.GH10057@shlinux2.ap.freescale.net> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Aug 23, 2012 at 01:21:03PM +0800, Stephen Warren wrote: > On 08/22/2012 01:18 AM, Dong Aisheng wrote: > > Signed-off-by: Dong Aisheng > > > diff --git a/drivers/regulator/anatop-regulator.c b/drivers/regulator/anatop-regulator.c > > > @@ -109,7 +110,11 @@ static int __devinit anatop_regulator_probe(struct platform_device *pdev) > > rdesc->ops = &anatop_rops; > > rdesc->type = REGULATOR_VOLTAGE; > > rdesc->owner = THIS_MODULE; > > - sreg->mfd = anatopmfd; > > + > > + sreg->anatop = of_parse_phandle(np, "fsl,anatop", 0); > > + if (!sreg->anatop) > > + return -ENODEV; > > In fact, that imx_syscon_lookup function I proposed could even do the > of_parse_phandle() internally, so perhaps: > > foo->syscon_dev = imx_syscon_lookup(np, "fsl,anatop", 0); > if (IS_ERR(foo->syscon_dev)) > return PTR_ERR(foo->syscon_dev); > > with imx_syscon_lookup() internally knowing when to return EPROBE_DEFER > rather than any other permanent error code (e.g. for missing property, > bad phandle, etc.) > This also looks reasonable to me. btw, see my last reply to mark in another mail. I'm not sure but Mark may want something slightly different as this one, imx_syscon_lookup directly return regmap rather than dev, then we do not need implement any register read/write API in imx-syscon driver, just using the exist regmap r/w API is ok. Regards Dong Aisheng