Can't you just use device_delay_init() to guarantee that another device has been started?