strange probe order issue after platform_add_devices()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux