All of lore.kernel.org
 help / color / mirror / Atom feed
From: b29396@freescale.com (Dong Aisheng)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/7] regulator: anatop-regulator: convert to use imx-syscon to access anatop register
Date: Fri, 24 Aug 2012 10:37:50 +0800	[thread overview]
Message-ID: <20120824023749.GC5822@shlinux2.ap.freescale.net> (raw)
In-Reply-To: <50366EEA.2070200@wwwdotorg.org>

On Fri, Aug 24, 2012 at 01:56:58AM +0800, Stephen Warren wrote:
> On 08/23/2012 12:12 AM, Richard Zhao wrote:
> > On Wed, Aug 22, 2012 at 11:21:03PM -0600, Stephen Warren wrote:
> >> On 08/22/2012 01:18 AM, Dong Aisheng wrote:
> >>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
> >>
> >>> 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.)
> >
> > In some case that we access register in machine code, we don't have any
> > phandle. The node is got by find compatible or by path.
> 
> That sounds a little odd; why not just use a phandle consistently
> everywhere?
Maybe for some places we do not have that device node, e.g:
arch/arm/mach-imx/mach-imx6q.c

> 
> Either way though, I could imagine still putting all the lookup code
> into the syscon driver; just have different functions for the different
> lookup methods:
> 
> imx_syscon_lookup_by_phandle(np, char *property_name)
Probably we do not need the left two lookup, below seems also ok if needed:
np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop");
regmap = imx_syscon_lookup_by_phandle(np, property_name)
Then we do not need to handle how to find the compatible node.

> imx_syscon_lookup_by_compatible(char *compatible
> imx_syscon_lookup_by_path(char *node_path)

Regards
Dong Aisheng

WARNING: multiple messages have this Message-ID (diff)
From: Dong Aisheng <b29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: Zhao Richard-B20223
	<B20223-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org"
	<linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>,
	"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	"s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
	<s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	"broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org"
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org"
	<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	"kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
	<kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	"lrg-l0cyMroinI0@public.gmane.org"
	<lrg-l0cyMroinI0@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org"
	<sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Subject: Re: [PATCH 4/7] regulator: anatop-regulator: convert to use imx-syscon to access anatop register
Date: Fri, 24 Aug 2012 10:37:50 +0800	[thread overview]
Message-ID: <20120824023749.GC5822@shlinux2.ap.freescale.net> (raw)
In-Reply-To: <50366EEA.2070200-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>

On Fri, Aug 24, 2012 at 01:56:58AM +0800, Stephen Warren wrote:
> On 08/23/2012 12:12 AM, Richard Zhao wrote:
> > On Wed, Aug 22, 2012 at 11:21:03PM -0600, Stephen Warren wrote:
> >> On 08/22/2012 01:18 AM, Dong Aisheng wrote:
> >>> Signed-off-by: Dong Aisheng <dong.aisheng-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> >>
> >>> 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.)
> >
> > In some case that we access register in machine code, we don't have any
> > phandle. The node is got by find compatible or by path.
> 
> That sounds a little odd; why not just use a phandle consistently
> everywhere?
Maybe for some places we do not have that device node, e.g:
arch/arm/mach-imx/mach-imx6q.c

> 
> Either way though, I could imagine still putting all the lookup code
> into the syscon driver; just have different functions for the different
> lookup methods:
> 
> imx_syscon_lookup_by_phandle(np, char *property_name)
Probably we do not need the left two lookup, below seems also ok if needed:
np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop");
regmap = imx_syscon_lookup_by_phandle(np, property_name)
Then we do not need to handle how to find the compatible node.

> imx_syscon_lookup_by_compatible(char *compatible
> imx_syscon_lookup_by_path(char *node_path)

Regards
Dong Aisheng

WARNING: multiple messages have this Message-ID (diff)
From: Dong Aisheng <b29396@freescale.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Zhao Richard-B20223 <B20223@freescale.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linus.walleij@stericsson.com" <linus.walleij@stericsson.com>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"shawn.guo@linaro.org" <shawn.guo@linaro.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"sameo@linux.intel.com" <sameo@linux.intel.com>,
	"lrg@ti.com" <lrg@ti.com>,
	"broonie@opensource.wolfsonmicro.com" 
	<broonie@opensource.wolfsonmicro.com>,
	"devicetree-discuss@lists.ozlabs.org" 
	<devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH 4/7] regulator: anatop-regulator: convert to use imx-syscon to access anatop register
Date: Fri, 24 Aug 2012 10:37:50 +0800	[thread overview]
Message-ID: <20120824023749.GC5822@shlinux2.ap.freescale.net> (raw)
In-Reply-To: <50366EEA.2070200@wwwdotorg.org>

On Fri, Aug 24, 2012 at 01:56:58AM +0800, Stephen Warren wrote:
> On 08/23/2012 12:12 AM, Richard Zhao wrote:
> > On Wed, Aug 22, 2012 at 11:21:03PM -0600, Stephen Warren wrote:
> >> On 08/22/2012 01:18 AM, Dong Aisheng wrote:
> >>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
> >>
> >>> 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.)
> >
> > In some case that we access register in machine code, we don't have any
> > phandle. The node is got by find compatible or by path.
> 
> That sounds a little odd; why not just use a phandle consistently
> everywhere?
Maybe for some places we do not have that device node, e.g:
arch/arm/mach-imx/mach-imx6q.c

> 
> Either way though, I could imagine still putting all the lookup code
> into the syscon driver; just have different functions for the different
> lookup methods:
> 
> imx_syscon_lookup_by_phandle(np, char *property_name)
Probably we do not need the left two lookup, below seems also ok if needed:
np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop");
regmap = imx_syscon_lookup_by_phandle(np, property_name)
Then we do not need to handle how to find the compatible node.

> imx_syscon_lookup_by_compatible(char *compatible
> imx_syscon_lookup_by_path(char *node_path)

Regards
Dong Aisheng


  reply	other threads:[~2012-08-24  2:37 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-22  7:18 [PATCH 0/7] add imx-syscon driver for general registers access Dong Aisheng
2012-08-22  7:18 ` Dong Aisheng
2012-08-22  7:18 ` Dong Aisheng
2012-08-22  7:18 ` [PATCH 1/7] mfd: add imx syscon driver based on regmap Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  8:29   ` Richard Zhao
2012-08-22  8:29     ` Richard Zhao
2012-08-22  8:29     ` Richard Zhao
2012-08-22 10:57     ` Dong Aisheng
2012-08-22 10:57       ` Dong Aisheng
2012-08-23  5:16       ` Stephen Warren
2012-08-23  5:16         ` Stephen Warren
2012-08-23  6:09         ` Richard Zhao
2012-08-23  6:09           ` Richard Zhao
2012-08-23  6:09           ` Richard Zhao
2012-08-23  7:06         ` Dong Aisheng
2012-08-23  7:06           ` Dong Aisheng
2012-08-23  7:06           ` Dong Aisheng
2012-08-22 16:02   ` Mark Brown
2012-08-22 16:02     ` Mark Brown
2012-08-22 16:02     ` Mark Brown
2012-08-23  7:26     ` Dong Aisheng
2012-08-23  7:26       ` Dong Aisheng
2012-08-23 11:06       ` Mark Brown
2012-08-23 11:06         ` Mark Brown
2012-08-23 11:06         ` Mark Brown
2012-08-24  2:28         ` Dong Aisheng
2012-08-24  2:28           ` Dong Aisheng
2012-08-24  2:28           ` Dong Aisheng
2012-08-24  6:43   ` Shawn Guo
2012-08-24  6:43     ` Shawn Guo
2012-08-24  6:43     ` Shawn Guo
2012-08-22  7:18 ` [PATCH 2/7] ARM: imx6q: add iomuxc gpr support into imx-syscon Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18 ` [PATCH 3/7] ARM: imx6q: add anatop " Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18 ` [PATCH 4/7] regulator: anatop-regulator: convert to use imx-syscon to access anatop register Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22 15:59   ` Mark Brown
2012-08-22 15:59     ` Mark Brown
2012-08-23  7:15     ` Dong Aisheng
2012-08-23  7:15       ` Dong Aisheng
2012-08-23  7:15       ` Dong Aisheng
2012-08-23 11:17       ` Mark Brown
2012-08-23 11:17         ` Mark Brown
2012-08-24  2:29         ` Dong Aisheng
2012-08-24  2:29           ` Dong Aisheng
2012-08-23  5:21   ` Stephen Warren
2012-08-23  5:21     ` Stephen Warren
2012-08-23  6:12     ` Richard Zhao
2012-08-23  6:12       ` Richard Zhao
2012-08-23  6:12       ` Richard Zhao
2012-08-23 17:56       ` Stephen Warren
2012-08-23 17:56         ` Stephen Warren
2012-08-24  2:37         ` Dong Aisheng [this message]
2012-08-24  2:37           ` Dong Aisheng
2012-08-24  2:37           ` Dong Aisheng
2012-08-23  7:32     ` Dong Aisheng
2012-08-23  7:32       ` Dong Aisheng
2012-08-23  7:32       ` Dong Aisheng
2012-08-22  7:18 ` [PATCH 5/7] ARM: imx6q: convert to use imx-syscon to access anatop registers Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18 ` [PATCH 6/7] ARM: dts: imx6q: add simple-bus compatible string for anatop Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  8:52   ` Richard Zhao
2012-08-22  8:52     ` Richard Zhao
2012-08-22  8:52     ` Richard Zhao
2012-08-22 11:02     ` Dong Aisheng
2012-08-22 11:02       ` Dong Aisheng
2012-08-22  7:18 ` [PATCH 7/7] mfd: anatop-mfd: remove anatop driver Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng
2012-08-22  7:18   ` Dong Aisheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120824023749.GC5822@shlinux2.ap.freescale.net \
    --to=b29396@freescale.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.