[PATCH] mci: register class device before card detection

Sascha Hauer s.hauer at pengutronix.de
Fri Mar 20 06:56:53 PDT 2026


mci_card_probe() notifies OP-TEE about the presence of a RPMB device
which in turn tries to read from it. The OP-TEE request will end up
in mci_get_rpmb_dev() which iterates over MMC class devices in order
to find the correct one. Call class_add_device() earlier to make sure
the new device is available at that time.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/mci/mci-core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
index cdb20a5625..d3d7bd5e07 100644
--- a/drivers/mci/mci-core.c
+++ b/drivers/mci/mci-core.c
@@ -3111,6 +3111,8 @@ int mci_register(struct mci_host *host)
 	if (IS_ENABLED(CONFIG_MCI_INFO))
 		devinfo_add(&mci->dev, mci_info);
 
+	class_add_device(&mmc_class, &mci->dev);
+
 	/* if enabled, probe the attached card immediately */
 	if (IS_ENABLED(CONFIG_MCI_STARTUP) ||
 	   (IS_ENABLED(CONFIG_MCI_STARTUP_NONREMOVABLE) &&
@@ -3124,8 +3126,6 @@ int mci_register(struct mci_host *host)
 		of_register_fixup(of_broken_cd_fixup, host);
 	}
 
-	class_add_device(&mmc_class, &mci->dev);
-
 	return 0;
 
 err_free:
-- 
2.47.3




More information about the barebox mailing list