Thread (1 message) 1 message, 1 author, 2012-10-19

Re: [PATCH 01/10] pinctrl: use postcore_initcall

From: Tony Lindgren <hidden>
Date: 2012-10-19 17:41:55
Also in: linux-arm-kernel

* Haojian Zhuang [off-list ref] [121018 19:54]:
On Fri, Oct 19, 2012 at 10:38 AM, Tony Lindgren [off-list ref] wrote:
quoted
* Haojian Zhuang [off-list ref] [121018 19:17]:
quoted
On Fri, Oct 19, 2012 at 6:28 AM, Tony Lindgren [off-list ref] wrote:
quoted
Specifically could you decribe the cases where this issue happens?
Also check if one of your client drivers has some early initcall
that's no longer needed.
Yes, the special case is PMIC. Most of PMIC are based on I2C/SPI bus.
It means that I2C/SPI bus driver should be initialized firstly. For example,
we could find that PMIC mfd driver are initialized in subsys init call level.
It means that pinctrl should be initialized earlier than I2C/SPI bus driver.
Otherwise, pins of I2C bus may not be configured as I2C function since
pinctrl driver is module init call level.
Hmm, the order in drivers/Makefile is already:

pinctrl/
i2c/

Maybe check that your i2c drivers don't have non-standard initcalls?

Also the i2c drivers may need to return -EPROBE_DEFER?

Regards,

Tony
OK. I'll support -EPROBE_DEFER if failed to get pin from pinctrl system.
This solution could also resolve the issue.
OK good to hear.

Regards,

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