Thread (58 messages) flat view 58 messages, 8 authors, 2012-11-07
STALE5055d

Revision v1 of 7 in this series.

Revisions (7)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v1 [diff vs current]
  4. v1 current
  5. v1 [diff vs current]
  6. v1 [diff vs current]
  7. v1 [diff vs current]

[PATCH 0/9] ARM: Kirkwood: Convert to pinctrl

From: andrew@lunn.ch (Andrew Lunn)
Date: 2012-10-25 05:46:38

On Wed, Oct 24, 2012 at 11:33:56PM +0200, Thomas Petazzoni wrote:
Andrew,

On Wed, 24 Oct 2012 22:01:28 +0200, Andrew Lunn wrote:
quoted
I guess it is too early to use gpio. I don't think the gpio driver has
not been configured yet.

I need to think about this.

What happens if you comment out these two gpio_set_value calls?
The problem is (probably, I haven't tested) that in
mach-kirkwood/board-dt.c, the of_platform_populate() function is called
after all the board-specific init. So all the devices described in the
DT, including GPIO banks, have not been registered yet. Most likely the
of_platform_populate() should come before the board specific inits.
Thanks Thomas, i will play around with this.

I'm just wondering if we are going to get into ordering issues. These
gpio operations are providing power to subsystems. We probably need
that to happen before the driver is loaded. If we call
of_platform_populate() too early, do we have the danger the driver
probing is going to happen before the init routine can enable the
power?

It seems like we want pinctrl/gpio working first, with pins hogged as
specified in DT, then the board init() function, then the rest of DT
setup.
Also there should probably  be a gpio_request() before those
gpio_set_value().
Yes. That worked before, but might break now. Most of the init()
functions do actually make a gpip_request() call.

     Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help