>From what I can tell, the omap_hsmmc device driver depends on the GPIO drivers >to be initialized first, which in turn depend on the I2C layer to be initialized first, in order for the card detection logic to work. If either I2C or GPIO gets initialized after MMC, the driver has no way of detecting the presence of the card.
So far everything looks good: * omap_i2c_init_driver is a subsys_initcall * beagle_twl_gpio_setup gets called from gpio_twl4030_init * gpio_twl4030_init is a subsys_initcall as well * The mmc platform device is added through a complicated setup method in gpio_twl4030_init * omap_hsmmc_init is a regular initcall This may be different if the twl4030 or the i2c_omap driver is not built into the kernel but omap_hsmmc is, or if they are all modules and loaded in a different order. Arnd -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/712175 Title: OMAP Beagle C4: kernel does not reliably find SD card on boot -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs