Skip to contentSkip to conversation

Status of gpio-pxa driver and dummy clock

DISCUSSION Robert Jarzmik 4 participants 8 messages Mar 3, 2012 – Mar 6, 2012

Subsystems (3)
lore
Share & tools
lore

Robert Jarzmik

author maintainer
#0 lore raw

Hi Haojian,

As you certainly know, Russell reverted the patch "ARM: pxa: add dummy clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6. As a consequence, the dummy clock for gpio-pxa was removed, causing breakage of gpio-pxa driver.

I wonder if you (or somebody through you) sent an update to fix the gpio-pxa by either fixing gpio-pxa or adding back "pxa-gpio" clock. As of today, I see no fix in 3.3-rc free (Linus tree).

Cheers.

Signature · 1 line
Robert
maintainer
#1 lore raw
Quoted 10 lines · Robert Jarzmik

Hi Haojian,

As you certainly know, Russell reverted the patch "ARM: pxa: add dummy clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6. As a consequence, the dummy clock for gpio-pxa was removed, causing breakage of gpio-pxa driver.

I wonder if you (or somebody through you) sent an update to fix the gpio-pxa by either fixing gpio-pxa or adding back "pxa-gpio" clock. As of today, I see no fix in 3.3-rc free (Linus tree).

This patch is already merged into arm-soc tree for v3.4. I don't have a plan to push it into
v3.3.

Thanks
Haojian

author maintainer
#2 lore raw
Quoted 7 lines · Haojian Zhuang
Quoted 6 lines · Robert Jarzmik

Hi Haojian,

As you certainly know, Russell reverted the patch "ARM: pxa: add dummy clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6. As a consequence, the dummy clock for gpio-pxa was removed, causing breakage of gpio-pxa driver.

Quoted 8 lines
Quoted 4 lines

I wonder if you (or somebody through you) sent an update to fix the gpio-pxa by either fixing gpio-pxa or adding back "pxa-gpio" clock. As of today, I see no fix in 3.3-rc free (Linus tree).

This patch is already merged into arm-soc tree for v3.4. I don't have a plan to push it into
v3.3.

Oh, you should push it to 3.3. It's a fix, and the mioa701 board is broken (and probably many others PXA based boards too) because no GPIO is available (as probe function of pxa-gpio always fail on clk_get()).

If you don't want to push it to 3.3, I'll have to send a fix to Arnd to fix the breakage.

Without it, a PXA based kernel (pxa2xx) will hang in its boot phase, on the first gpio_get_* or gpio_set_*, which is called by many drivers.

Cheers.

Signature · 1 line
Robert
#3 lore raw
Quoted 38 lines · Robert Jarzmik

From: Robert Jarzmik <[email protected]>
Subject: Re: Status of gpio-pxa driver and dummy clock
To: "Haojian Zhuang" <[email protected]>
Cc: "Arnd Bergmann" <[email protected]>, linux-arm-kernel at lists.infradead.org
Date: Sunday, 4 March, 2012, 10:25
Haojian Zhuang <[email protected]>

Quoted 1 line · writes:

On Sun, Mar 4, 2012 at 5:34 AM, Robert Jarzmik <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines

Hi Haojian,

As you certainly know, Russell reverted the patch

"ARM: pxa: add dummy clock for

Quoted 1 line
Quoted 1 line

sa1100-rtc", id

a55b5adaf403c4d032e0871ad4ee3367782f4db6. As a consequence, the

Quoted 1 line
Quoted 1 line

dummy clock for gpio-pxa was removed, causing

breakage of gpio-pxa driver.

Quoted 2 lines
Quoted 2 lines

I wonder if you (or somebody through you) sent an

update to fix the gpio-pxa by

Quoted 1 line
Quoted 1 line

either fixing gpio-pxa or adding back "pxa-gpio"

clock. As of today, I see no

Quoted 4 lines
Quoted 2 lines

fix in 3.3-rc free (Linus tree).

This patch is already merged into arm-soc tree for

v3.4. I don't have

Quoted 2 lines

a plan to push it into
v3.3.

Oh, you should push it to 3.3. It's a fix, and the mioa701 board is broken (and
probably many others PXA based boards too) because no GPIO is available (as
probe function of pxa-gpio always fail on clk_get()).

Quoted 8 lines

If you don't want to push it to 3.3, I'll have to send a fix to Arnd to fix the
breakage.

Without it, a PXA based kernel (pxa2xx) will hang in its boot phase, on the
first gpio_get_* or gpio_set_*, which is called by many drivers.

There are two further pxa gpio regressions still present in linux-3.3-rc5:

mfp/gpio regression: pxa_last_gpio used before initialized
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/082624.html

reboot/suspend regression: hx4700 freezes under linux-3.3-rc1
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-February/082873.html
(2 regressions are reported here; the reboot regression is still present in linux-3.3-rc5 while the suspend regression has now been fixed).

maintainer
#4 lore raw
Quoted 51 lines · Paul Parsons
Quoted 38 lines · Robert Jarzmik

From: Robert Jarzmik <[email protected]>
Subject: Re: Status of gpio-pxa driver and dummy clock
To: "Haojian Zhuang" <[email protected]>
Cc: "Arnd Bergmann" <[email protected]>, linux-arm-kernel at lists.infradead.org
Date: Sunday, 4 March, 2012, 10:25
Haojian Zhuang <[email protected]>

Quoted 1 line · writes:

On Sun, Mar 4, 2012 at 5:34 AM, Robert Jarzmik <[email protected]>

Quoted 3 lines · wrote:
Quoted 3 lines

Hi Haojian,

As you certainly know, Russell reverted the patch

"ARM: pxa: add dummy clock for

Quoted 1 line
Quoted 1 line

sa1100-rtc", id

a55b5adaf403c4d032e0871ad4ee3367782f4db6. As a consequence, the

Quoted 1 line
Quoted 1 line

dummy clock for gpio-pxa was removed, causing

breakage of gpio-pxa driver.

Quoted 2 lines
Quoted 2 lines

I wonder if you (or somebody through you) sent an

update to fix the gpio-pxa by

Quoted 1 line
Quoted 1 line

either fixing gpio-pxa or adding back "pxa-gpio"

clock. As of today, I see no

Quoted 4 lines
Quoted 2 lines

fix in 3.3-rc free (Linus tree).

This patch is already merged into arm-soc tree for

v3.4. I don't have

Quoted 2 lines

a plan to push it into
v3.3.

Oh, you should push it to 3.3. It's a fix, and the mioa701 board is broken (and
probably many others PXA based boards too) because no GPIO is available (as
probe function of pxa-gpio always fail on clk_get()).

Quoted 8 lines

If you don't want to push it to 3.3, I'll have to send a fix to Arnd to fix the
breakage.

Without it, a PXA based kernel (pxa2xx) will hang in its boot phase, on the
first gpio_get_* or gpio_set_*, which is called by many drivers.

There are two further pxa gpio regressions still present in linux-3.3-rc5:

Quoted 7 lines

mfp/gpio regression: pxa_last_gpio used before initialized
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/082624.html

reboot/suspend regression: hx4700 freezes under linux-3.3-rc1
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-February/082873.html
(2 regressions are reported here; the reboot regression is still present in linux-3.3-rc5 while the suspend regression has now been fixed).

I missed them. Maybe I was not in the Cc list. I'll append the patches to fix them.

Best Regards
Haojian

author maintainer
#5 lore raw
Quoted 2 lines · Haojian Zhuang

I missed them. Maybe I was not in the Cc list. I'll append the patches to fix them.

Just to be sure, this is the patch which is missing for the dummy clock, which was not submitted before AFAIK (Jonathan, Paul, please confirm).

I added the commit text to Paul's patch, and authored it as Paul's with Jonathan's report. Again, Jonathan, Paul, I'd like to have your agreement here.

Haojian, if you have another patch ready, don't hesitate to drop this patch and take your own, as long as gpio-pxa is fixed, I'll be happy.

Cheers.

--
Robert

8>----

Quoted 1 line

From 505a23475843a8fbac077e789d911ee07e1ae9cc Mon Sep 17 00:00:00 2001

From: Paul Parsons <[email protected]>
Date: Sat, 3 Mar 2012 21:10:09 +0100
Subject: [PATCH] arch/arm: pxa add dummy clocks for gpio driver

Fix gpio driver by providing it a dummy clock. This regression was introduced by the commit "ARM: pxa: add dummy clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6.

---
 arch/arm/mach-pxa/pxa25x.c |    1 +
 arch/arm/mach-pxa/pxa27x.c |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-pxa/pxa25x.c +1 -0
index 00d6eac..d8de3e5 100644
@@ -208,6 +208,7 @@ static struct clk_lookup pxa25x_clkregs[] = {
 	INIT_CLKREG(&clk_pxa25x_gpio11, NULL, "GPIO11_CLK"),
 	INIT_CLKREG(&clk_pxa25x_gpio12, NULL, "GPIO12_CLK"),
 	INIT_CLKREG(&clk_pxa25x_mem, "pxa2xx-pcmcia", NULL),
+	INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL),
 };
 
 static struct clk_lookup pxa25x_hwuart_clkreg =
arch/arm/mach-pxa/pxa27x.c +1 -0
index c1673b3..a3fabc9 100644
@@ -229,6 +229,7 @@ static struct clk_lookup pxa27x_clkregs[] = {
 	INIT_CLKREG(&clk_pxa27x_im, NULL, "IMCLK"),
 	INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"),
 	INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL),
+	INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL),
 };
 
 #ifdef CONFIG_PM
Signature · 1 line
1.7.5.4
#6 lore raw
Quoted 13 lines · Robert Jarzmik

Date: Monday, 5 March, 2012, 22:08
Haojian Zhuang <[email protected]>

Quoted 1 line · writes:

I missed them. Maybe I was not in the Cc list. I'll

append the patches

Quoted 1 line

to fix them.

Just to be sure, this is the patch which is missing for the dummy clock, which
was not submitted before AFAIK (Jonathan, Paul, please confirm).

Quoted 8 lines

I added the commit text to Paul's patch, and authored it as Paul's with
Jonathan's report. Again, Jonathan, Paul, I'd like to have your agreement here.

Haojian, if you have another patch ready, don't hesitate to drop this patch and
take your own, as long as gpio-pxa is fixed, I'll be happy.

I created this patch without waiting for an official fix purely to solve the problem for myself. I then posted it in case it would be useful to others. By all means use it or, if a better patch exists, drop it.

Quoted 72 lines

Cheers.

--
Robert

8>----
From 505a23475843a8fbac077e789d911ee07e1ae9cc Mon Sep 17 00:00:00 2001
From: Paul Parsons <[email protected]>
Date: Sat, 3 Mar 2012 21:10:09 +0100
Subject: [PATCH] arch/arm: pxa add dummy clocks for gpio driver

Fix gpio driver by providing it a dummy clock. This regression was introduced by the commit "ARM: pxa: add dummy
clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6.

---
arch/arm/mach-pxa/pxa25x.c |? ? 1 +
arch/arm/mach-pxa/pxa27x.c |? ? 1 +

 2 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-pxa/pxa25x.c +0 -0
index 00d6eac..d8de3e5 100644
@@ -208,6 +208,7 @@ static struct clk_lookup
 pxa25x_clkregs[] = {
 ??? INIT_CLKREG(&clk_pxa25x_gpio11,
 NULL, "GPIO11_CLK"),
 ??? INIT_CLKREG(&clk_pxa25x_gpio12,
 NULL, "GPIO12_CLK"),
 ??? INIT_CLKREG(&clk_pxa25x_mem,

"pxa2xx-pcmcia", NULL),
+??? INIT_CLKREG(&clk_dummy, "pxa-gpio",
NULL),
};

static struct clk_lookup pxa25x_hwuart_clkreg =

arch/arm/mach-pxa/pxa27x.c +0 -0
index c1673b3..a3fabc9 100644
@@ -229,6 +229,7 @@ static struct clk_lookup
 pxa27x_clkregs[] = {
 ??? INIT_CLKREG(&clk_pxa27x_im, NULL,
 "IMCLK"),
 ??? INIT_CLKREG(&clk_pxa27x_memc, NULL,
 "MEMCLK"),
 ??? INIT_CLKREG(&clk_pxa27x_mem,

"pxa2xx-pcmcia", NULL),
+??? INIT_CLKREG(&clk_dummy, "pxa-gpio",
NULL),
};

#ifdef CONFIG_PM

Signature · 7 lines
1.7.5.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
#7 lore raw
Quoted 18 lines · Paul Parsons
Quoted 17 lines · Robert Jarzmik

Date: Monday, 5 March, 2012, 22:08
Haojian Zhuang<[email protected]>

Quoted 1 line · writes:

I missed them. Maybe I was not in the Cc list. I'll

append the patches

Quoted 1 line

to fix them.

Just to be sure, this is the patch which is missing for the dummy clock, which
was not submitted before AFAIK (Jonathan, Paul, please confirm).

I added the commit text to Paul's patch, and authored it as Paul's with
Jonathan's report. Again, Jonathan, Paul, I'd like to have your agreement here.

Quoted 6 lines
Quoted 3 lines

Haojian, if you have another patch ready, don't hesitate to drop this patch and
take your own, as long as gpio-pxa is fixed, I'll be happy.

I created this patch without waiting for an official fix purely to solve the problem for myself. I then posted it in case it would be useful to others. By all means use it or, if a better patch exists, drop it.

I'm carrying the exact same thing in my local tree for pxa27x so for that at least
I've stuck a tested-by below. (going to loose the cam address at somepoint soonish
hence the kernel.org one. Really don't care though!)

Quoted 20 lines
Quoted 20 lines

Cheers.

--
Robert

8>----
From 505a23475843a8fbac077e789d911ee07e1ae9cc Mon Sep 17
00:00:00 2001
From: Paul Parsons<[email protected]>
Date: Sat, 3 Mar 2012 21:10:09 +0100
Subject: [PATCH] arch/arm: pxa add dummy clocks for gpio driver

Fix gpio driver by providing it a dummy clock. This regression was introduced by the commit "ARM: pxa: add dummy
clock for sa1100-rtc", id a55b5adaf403c4d032e0871ad4ee3367782f4db6.

Quoted 3 lines
Quoted 3 lines
Quoted 50 lines
Quoted 50 lines
---
  arch/arm/mach-pxa/pxa25x.c |    1 +
  arch/arm/mach-pxa/pxa27x.c |    1 +
  2 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-pxa/pxa25x.c +0 -0
index 00d6eac..d8de3e5 100644
@@ -208,6 +208,7 @@ static struct clk_lookup
 pxa25x_clkregs[] = {
      INIT_CLKREG(&clk_pxa25x_gpio11,
 NULL, "GPIO11_CLK"),
      INIT_CLKREG(&clk_pxa25x_gpio12,
 NULL, "GPIO12_CLK"),
      INIT_CLKREG(&clk_pxa25x_mem,

"pxa2xx-pcmcia", NULL),
+ INIT_CLKREG(&clk_dummy, "pxa-gpio",
NULL),
};

static struct clk_lookup pxa25x_hwuart_clkreg =

arch/arm/mach-pxa/pxa27x.c +0 -0
index c1673b3..a3fabc9 100644
@@ -229,6 +229,7 @@ static struct clk_lookup
 pxa27x_clkregs[] = {
      INIT_CLKREG(&clk_pxa27x_im, NULL,
 "IMCLK"),
      INIT_CLKREG(&clk_pxa27x_memc, NULL,
 "MEMCLK"),
      INIT_CLKREG(&clk_pxa27x_mem,

"pxa2xx-pcmcia", NULL),
+ INIT_CLKREG(&clk_dummy, "pxa-gpio",
NULL),
};

#ifdef CONFIG_PM

Signature · 7 lines
1.7.5.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel