* [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
@ 2012-03-07 0:39 Kevin Hilman
2012-03-07 0:44 ` Tony Lindgren
2012-03-19 21:18 ` Arnd Bergmann
0 siblings, 2 replies; 9+ messages in thread
From: Kevin Hilman @ 2012-03-07 0:39 UTC (permalink / raw)
To: linux-omap; +Cc: linux-arm-kernel, Matt Porter
commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
regulators) added regulators which are registered during
gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
than one instance of the SMSC911x and result in attempting to register
the same regulator more than once which causes a panic().
Fix this by only registering the regulator when the platform_data id
field is zero, indicating its the first instance.
Cc: Matt Porter <mporter@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
Fix needed for v3.3.
Applies on top of Tony's fixes branch.
arch/arm/mach-omap2/gpmc-smsc911x.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c
index bbb870c..4d6f1c6 100644
--- a/arch/arm/mach-omap2/gpmc-smsc911x.c
+++ b/arch/arm/mach-omap2/gpmc-smsc911x.c
@@ -101,10 +101,13 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
gpmc_cfg = board_data;
- ret = platform_device_register(&gpmc_smsc911x_regulator);
- if (ret < 0) {
- pr_err("Unable to register smsc911x regulators: %d\n", ret);
- return;
+ if (!gpmc_cfg) {
+ ret = platform_device_register(&gpmc_smsc911x_regulator);
+ if (ret < 0) {
+ pr_err("Unable to register smsc911x regulators: %d\n",
+ ret);
+ return;
+ }
}
if (gpmc_cs_request(gpmc_cfg->cs, SZ_16M, &cs_mem_base) < 0) {
--
1.7.9.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-07 0:39 [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance Kevin Hilman
@ 2012-03-07 0:44 ` Tony Lindgren
2012-03-07 1:39 ` Kevin Hilman
2012-03-19 21:18 ` Arnd Bergmann
1 sibling, 1 reply; 9+ messages in thread
From: Tony Lindgren @ 2012-03-07 0:44 UTC (permalink / raw)
To: Kevin Hilman; +Cc: linux-omap, linux-arm-kernel, Matt Porter
* Kevin Hilman <khilman@ti.com> [120306 16:07]:
> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
> regulators) added regulators which are registered during
> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
> than one instance of the SMSC911x and result in attempting to register
> the same regulator more than once which causes a panic().
>
> Fix this by only registering the regulator when the platform_data id
> field is zero, indicating its the first instance.
>
> Cc: Matt Porter <mporter@ti.com>
> Signed-off-by: Kevin Hilman <khilman@ti.com>
> ---
> Fix needed for v3.3.
> Applies on top of Tony's fixes branch.
>
> arch/arm/mach-omap2/gpmc-smsc911x.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c
> index bbb870c..4d6f1c6 100644
> --- a/arch/arm/mach-omap2/gpmc-smsc911x.c
> +++ b/arch/arm/mach-omap2/gpmc-smsc911x.c
> @@ -101,10 +101,13 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
>
> gpmc_cfg = board_data;
>
> - ret = platform_device_register(&gpmc_smsc911x_regulator);
> - if (ret < 0) {
> - pr_err("Unable to register smsc911x regulators: %d\n", ret);
> - return;
> + if (!gpmc_cfg) {
Shouldn't this be !gpmc_cfg->id instead..
> + ret = platform_device_register(&gpmc_smsc911x_regulator);
> + if (ret < 0) {
> + pr_err("Unable to register smsc911x regulators: %d\n",
> + ret);
> + return;
> + }
> }
>
> if (gpmc_cs_request(gpmc_cfg->cs, SZ_16M, &cs_mem_base) < 0) {
..because we have gpmc_cfg always passed to gpmc_smsc911x_init().
Regards,
Tony
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-07 0:44 ` Tony Lindgren
@ 2012-03-07 1:39 ` Kevin Hilman
2012-03-07 2:28 ` Tony Lindgren
0 siblings, 1 reply; 9+ messages in thread
From: Kevin Hilman @ 2012-03-07 1:39 UTC (permalink / raw)
To: Tony Lindgren; +Cc: linux-omap, linux-arm-kernel, Matt Porter
Tony Lindgren <tony@atomide.com> writes:
> * Kevin Hilman <khilman@ti.com> [120306 16:07]:
>> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
>> regulators) added regulators which are registered during
>> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
>> than one instance of the SMSC911x and result in attempting to register
>> the same regulator more than once which causes a panic().
>>
>> Fix this by only registering the regulator when the platform_data id
>> field is zero, indicating its the first instance.
>>
>> Cc: Matt Porter <mporter@ti.com>
>> Signed-off-by: Kevin Hilman <khilman@ti.com>
>> ---
>> Fix needed for v3.3.
>> Applies on top of Tony's fixes branch.
>>
>> arch/arm/mach-omap2/gpmc-smsc911x.c | 11 +++++++----
>> 1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c
>> index bbb870c..4d6f1c6 100644
>> --- a/arch/arm/mach-omap2/gpmc-smsc911x.c
>> +++ b/arch/arm/mach-omap2/gpmc-smsc911x.c
>> @@ -101,10 +101,13 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
>>
>> gpmc_cfg = board_data;
>>
>> - ret = platform_device_register(&gpmc_smsc911x_regulator);
>> - if (ret < 0) {
>> - pr_err("Unable to register smsc911x regulators: %d\n", ret);
>> - return;
>> + if (!gpmc_cfg) {
>
> Shouldn't this be !gpmc_cfg->id instead..
doh, of course. Updated patch below.
Kevin
>From 3c17a6fe6fdcc5e4e33f174c2b0982d71e759cf1 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Thu, 1 Mar 2012 12:30:42 -0800
Subject: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for
first instance
commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
regulators) added regulators which are registered during
gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
than one instance of the SMSC911x and result in attempting to register
the same regulator more than once which causes a panic().
Fix this by only registering the regulator when the platform_data id
field is zero, indicating its the first instance.
Cc: Matt Porter <mporter@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/gpmc-smsc911x.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c
index bbb870c..5e5880d 100644
--- a/arch/arm/mach-omap2/gpmc-smsc911x.c
+++ b/arch/arm/mach-omap2/gpmc-smsc911x.c
@@ -101,10 +101,13 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
gpmc_cfg = board_data;
- ret = platform_device_register(&gpmc_smsc911x_regulator);
- if (ret < 0) {
- pr_err("Unable to register smsc911x regulators: %d\n", ret);
- return;
+ if (!gpmc_cfg->id) {
+ ret = platform_device_register(&gpmc_smsc911x_regulator);
+ if (ret < 0) {
+ pr_err("Unable to register smsc911x regulators: %d\n",
+ ret);
+ return;
+ }
}
if (gpmc_cs_request(gpmc_cfg->cs, SZ_16M, &cs_mem_base) < 0) {
--
1.7.9.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-07 1:39 ` Kevin Hilman
@ 2012-03-07 2:28 ` Tony Lindgren
0 siblings, 0 replies; 9+ messages in thread
From: Tony Lindgren @ 2012-03-07 2:28 UTC (permalink / raw)
To: Kevin Hilman; +Cc: linux-omap, linux-arm-kernel, Matt Porter
* Kevin Hilman <khilman@ti.com> [120306 17:07]:
> Tony Lindgren <tony@atomide.com> writes:
>
> > * Kevin Hilman <khilman@ti.com> [120306 16:07]:
> >> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
> >> regulators) added regulators which are registered during
> >> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
> >> than one instance of the SMSC911x and result in attempting to register
> >> the same regulator more than once which causes a panic().
> >>
> >> Fix this by only registering the regulator when the platform_data id
> >> field is zero, indicating its the first instance.
> >>
> >> Cc: Matt Porter <mporter@ti.com>
> >> Signed-off-by: Kevin Hilman <khilman@ti.com>
> >> ---
> >> Fix needed for v3.3.
> >> Applies on top of Tony's fixes branch.
> >>
> >> arch/arm/mach-omap2/gpmc-smsc911x.c | 11 +++++++----
> >> 1 file changed, 7 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c
> >> index bbb870c..4d6f1c6 100644
> >> --- a/arch/arm/mach-omap2/gpmc-smsc911x.c
> >> +++ b/arch/arm/mach-omap2/gpmc-smsc911x.c
> >> @@ -101,10 +101,13 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
> >>
> >> gpmc_cfg = board_data;
> >>
> >> - ret = platform_device_register(&gpmc_smsc911x_regulator);
> >> - if (ret < 0) {
> >> - pr_err("Unable to register smsc911x regulators: %d\n", ret);
> >> - return;
> >> + if (!gpmc_cfg) {
> >
> > Shouldn't this be !gpmc_cfg->id instead..
>
> doh, of course. Updated patch below.
Thanks, applying into fixes.
Regards,
Tony
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-07 0:39 [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance Kevin Hilman
2012-03-07 0:44 ` Tony Lindgren
@ 2012-03-19 21:18 ` Arnd Bergmann
2012-03-19 21:39 ` Kevin Hilman
1 sibling, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2012-03-19 21:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Kevin Hilman, linux-omap, Matt Porter, Tony Lindgren,
Olof Johansson
On Wednesday 07 March 2012, Kevin Hilman wrote:
> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
> regulators) added regulators which are registered during
> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
> than one instance of the SMSC911x and result in attempting to register
> the same regulator more than once which causes a panic().
>
> Fix this by only registering the regulator when the platform_data id
> field is zero, indicating its the first instance.
>
> Cc: Matt Porter <mporter@ti.com>
> Signed-off-by: Kevin Hilman <khilman@ti.com>
It seems that both Olof and I forgot to forward this one to Linus.
If it's ok for you, I'll add it to the fixes branch for v3.4 now
and mark it for backporting to v3.3-stable.
Sorry for the inconvenience.
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-19 21:18 ` Arnd Bergmann
@ 2012-03-19 21:39 ` Kevin Hilman
2012-03-19 22:09 ` Arnd Bergmann
0 siblings, 1 reply; 9+ messages in thread
From: Kevin Hilman @ 2012-03-19 21:39 UTC (permalink / raw)
To: Arnd Bergmann
Cc: linux-arm-kernel, Matt Porter, Tony Lindgren, linux-omap,
Olof Johansson
Hi Arnd,
Arnd Bergmann <arnd@arndb.de> writes:
> On Wednesday 07 March 2012, Kevin Hilman wrote:
>> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
>> regulators) added regulators which are registered during
>> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
>> than one instance of the SMSC911x and result in attempting to register
>> the same regulator more than once which causes a panic().
>>
>> Fix this by only registering the regulator when the platform_data id
>> field is zero, indicating its the first instance.
>>
>> Cc: Matt Porter <mporter@ti.com>
>> Signed-off-by: Kevin Hilman <khilman@ti.com>
>
> It seems that both Olof and I forgot to forward this one to Linus.
>
> If it's ok for you, I'll add it to the fixes branch for v3.4 now
> and mark it for backporting to v3.3-stable.
A slightly different version of this is already in linux-next as commit
bb60424af517d6e6148505fb5ef256caa91b5b43.
It was in your 'fixes' branch, and was merged by Olaf from Tony on 3/13:
Merge branch 'fix-smsc911x-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
Kevin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-19 21:39 ` Kevin Hilman
@ 2012-03-19 22:09 ` Arnd Bergmann
2012-03-19 22:48 ` Tony Lindgren
0 siblings, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2012-03-19 22:09 UTC (permalink / raw)
To: Kevin Hilman
Cc: linux-arm-kernel, Matt Porter, Tony Lindgren, linux-omap,
Olof Johansson
On Monday 19 March 2012, Kevin Hilman wrote:
> > On Wednesday 07 March 2012, Kevin Hilman wrote:
> >> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
> >> regulators) added regulators which are registered during
> >> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
> >> than one instance of the SMSC911x and result in attempting to register
> >> the same regulator more than once which causes a panic().
> >>
> >> Fix this by only registering the regulator when the platform_data id
> >> field is zero, indicating its the first instance.
> >>
> >> Cc: Matt Porter <mporter@ti.com>
> >> Signed-off-by: Kevin Hilman <khilman@ti.com>
> >
> > It seems that both Olof and I forgot to forward this one to Linus.
> >
> > If it's ok for you, I'll add it to the fixes branch for v3.4 now
> > and mark it for backporting to v3.3-stable.
>
> A slightly different version of this is already in linux-next as commit
> bb60424af517d6e6148505fb5ef256caa91b5b43.
>
> It was in your 'fixes' branch, and was merged by Olaf from Tony on 3/13:
> Merge branch 'fix-smsc911x-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
>
Yes, I know it's in linux-next because I found it in the fixes branch.
That is the branch with stuff that should have gone into v3.3 :(
Is the bb60424af version ok? If I add a stable@vger.kernel.org tag in
there, it will obviously get a new changeset ID but I was not planning
on changing the contents to the version from the mailing list in case
that is different.
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-19 22:09 ` Arnd Bergmann
@ 2012-03-19 22:48 ` Tony Lindgren
2012-03-20 8:20 ` Arnd Bergmann
0 siblings, 1 reply; 9+ messages in thread
From: Tony Lindgren @ 2012-03-19 22:48 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Kevin Hilman, linux-arm-kernel, Matt Porter, linux-omap,
Olof Johansson
* Arnd Bergmann <arnd@arndb.de> [120319 15:12]:
> On Monday 19 March 2012, Kevin Hilman wrote:
> > > On Wednesday 07 March 2012, Kevin Hilman wrote:
> > >> commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
> > >> regulators) added regulators which are registered during
> > >> gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
> > >> than one instance of the SMSC911x and result in attempting to register
> > >> the same regulator more than once which causes a panic().
> > >>
> > >> Fix this by only registering the regulator when the platform_data id
> > >> field is zero, indicating its the first instance.
> > >>
> > >> Cc: Matt Porter <mporter@ti.com>
> > >> Signed-off-by: Kevin Hilman <khilman@ti.com>
> > >
> > > It seems that both Olof and I forgot to forward this one to Linus.
> > >
> > > If it's ok for you, I'll add it to the fixes branch for v3.4 now
> > > and mark it for backporting to v3.3-stable.
> >
> > A slightly different version of this is already in linux-next as commit
> > bb60424af517d6e6148505fb5ef256caa91b5b43.
> >
> > It was in your 'fixes' branch, and was merged by Olaf from Tony on 3/13:
> > Merge branch 'fix-smsc911x-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
> >
>
> Yes, I know it's in linux-next because I found it in the fixes branch.
> That is the branch with stuff that should have gone into v3.3 :(
>
> Is the bb60424af version ok? If I add a stable@vger.kernel.org tag in
> there, it will obviously get a new changeset ID but I was not planning
> on changing the contents to the version from the mailing list in case
> that is different.
Let's just keep bb60424af. There are more patches needed to make
multiple smsc91x instances work, but we need to hear from people
with such boards first. Then those can be tagged for stable.
Regards,
Tony
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-19 22:48 ` Tony Lindgren
@ 2012-03-20 8:20 ` Arnd Bergmann
0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2012-03-20 8:20 UTC (permalink / raw)
To: Tony Lindgren
Cc: Kevin Hilman, linux-arm-kernel, Matt Porter, linux-omap,
Olof Johansson
On Monday 19 March 2012, Tony Lindgren wrote:
> Let's just keep bb60424af. There are more patches needed to make
> multiple smsc91x instances work, but we need to hear from people
> with such boards first. Then those can be tagged for stable.
>
Ok, I'm just putting that into the fixes branch for 3.4 then.
Thanks,
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-03-20 8:20 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-07 0:39 [PATCH] ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance Kevin Hilman
2012-03-07 0:44 ` Tony Lindgren
2012-03-07 1:39 ` Kevin Hilman
2012-03-07 2:28 ` Tony Lindgren
2012-03-19 21:18 ` Arnd Bergmann
2012-03-19 21:39 ` Kevin Hilman
2012-03-19 22:09 ` Arnd Bergmann
2012-03-19 22:48 ` Tony Lindgren
2012-03-20 8:20 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).