On Friday 23 November 2007, Anton Vorontsov wrote: > > +static struct of_device_id mpc834x_ids[] = { > + { .compatible = "pata-platform", }, > + {}, > +}; > + > +static int __init mpc834x_declare_of_platform_devices(void) > +{ > + if (!machine_is(mpc834x_itx)) > + return 0; > + > + of_platform_bus_probe(NULL, mpc834x_ids, NULL); > + > + return 0; > +} > +device_initcall(mpc834x_declare_of_platform_devices); This is not really how of_platform_bus_probe was meant to be used. Instead of listing the device you want to probe, you should list all buses that potentially contain a device that you are probing. Normally, an ata controller is not a top-level device but instead the child of an SOC bus device, and then you just probe all SOC devices, which means their children get added to the device tree. In your case, that would probably mean that you have to another entry in the "ranges" of the soc8349 node, or add a second socXXXX node that has the 0xf0000000 ranges, depending on the actual layout of the SOC. Arnd <>< - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html