@@ -239,6 +239,15 @@ int mmc_unbind(struct udevice *dev)
return 0;
}
+#ifdef CONFIG_BLK
+static int mmc_post_probe(struct udevice *dev)
+{
+ struct mmc *mmc = mmc_get_mmc_dev(dev);
+
+ return mmc_init(mmc);
+}
+#endif
+
static int mmc_select_hwpart(struct udevice *bdev, int hwpart)
{
struct udevice *mmc_dev = dev_get_parent(bdev);
@@ -292,4 +301,7 @@ UCLASS_DRIVER(mmc) = {
.name = "mmc",
.flags = DM_UC_FLAG_SEQ_ALIAS,
.per_device_auto_alloc_size = sizeof(struct mmc_uclass_priv),
+#ifdef CONFIG_BLK
+ .post_probe = mmc_post_probe,
+#endif
};