[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <88dfed9d0708180729s1837b56brf81e905045039561@mail.gmail.com>
Date: Sat, 18 Aug 2007 22:29:54 +0800
From: hufey <hufeyy@...il.com>
To: linux-kernel@...r.kernel.org
Subject: strange probe order issue after platform_add_devices()
Hi list,
I am facing a very strange issue about device probe order.
I have a piece of code to support network interface card for an embedded box.
It likes following:
...
static struct platform_device *custom_devices[] __initdata = {
&a_device,
&b_device,
&c_device,
};
static int __init device_init()
{
return platform_add_devices(custom_devices,
ARRAY_SIZE(custom_devices);
}
subsys_initcall(device_init);
/* end */
This code works good with kernel 2.6.11. After platform_add_devices()
is executed, a_device's probe function will be called first then
b_device's probe function be called.
I merged it to 2.6.17, but strange thing is b_device's probe be called
first always now.
Since b_device probe depends on a_device, so it always fails now.
Does anyone know how to fix it? Or give me the hint about how kernel
decide which device be called to probe in order by what mechanism?
Thanks in advance and best regards,
hufeyy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists