Re: [PATCH] AB3100 regulator support v1

From: Linus Walleij
Date: Sat Aug 29 2009 - 20:37:58 EST

2009/8/30 Linus Walleij <>:

> So this is because I am in the parents probe() function of course,
> and it's all expected.

I was curious how wm8350 on MX31 did this while using only subsys_initcalls()
(wm8400 doesn't look like it's completed yet) and found:

subsys_initcall_() ->
drivers/mfd/wm8350-i2c.:wm8350_i2c_init() ->
drivers/mfd/wm8350-i2c.c:wm8350_i2c_probe() ->
drivers/mfd/wm8350-core.c:wm8350_device_init() ->
arch/arm/mach-mx3/mx31ads.c:mx31_wm8350_init() ->

which creates a platform device and sets the parent to
the struct wm8350->dev. But this is actually the i2c_client dev
and then it is not so strange that it works nicely to have both
the 8350 core device as parent and the platform devices as
children in a subsys_initcall() since the i2c core does not
use the regular device driver matching scheme, but rolls it's
own (which does NOT try to take the parent's semaphore...)

Linus Walleij
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at