This way we can avoid probing for the SD/MMC devices at startup and just detect them when actually needed. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> --- drivers/mci/stm32_sdmmc2.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/mci/stm32_sdmmc2.c b/drivers/mci/stm32_sdmmc2.c index 3ce3bb0f89d2..ac52b62fa0b7 100644 --- a/drivers/mci/stm32_sdmmc2.c +++ b/drivers/mci/stm32_sdmmc2.c @@ -571,6 +571,13 @@ static void stm32_sdmmc2_set_ios(struct mci_host *mci, struct mci_ios *ios) priv->base + SDMMC_CLKCR); } +static int stm32_sdmmc2_detect(struct device_d *dev) +{ + struct stm32_sdmmc2_priv *priv = dev->priv; + + return mci_detect_card(&priv->mci); +} + static int stm32_sdmmc2_probe(struct amba_device *adev, const struct amba_id *id) { @@ -591,6 +598,9 @@ static int stm32_sdmmc2_probe(struct amba_device *adev, mci->init = stm32_sdmmc2_reset; mci->hw_dev = dev; + dev->priv = priv; + dev->detect = stm32_sdmmc2_detect; + priv->clk = clk_get(dev, NULL); if (IS_ERR(priv->clk)) { ret = PTR_ERR(priv->clk); -- 2.20.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox