If there's a mmc* alias in the device tree, take the device number from
it, so that we end up with a device name that matches the alias.

Signed-off-by: Lubomir Rintel <lkund...@v3.sk>
---
 drivers/mmc/core/host.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 3a4402a79904..9e2c31b9366e 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -411,7 +411,12 @@ struct mmc_host *mmc_alloc_host(int extra, struct device 
*dev)
        /* scanning will be enabled when we're ready */
        host->rescan_disable = 1;
 
-       err = ida_simple_get(&mmc_host_ida, 0, 0, GFP_KERNEL);
+       /* prefer an alias */
+       err = of_alias_get_id(dev->of_node, "mmc");
+       if (err < 0)
+               err = 0;
+
+       err = ida_simple_get(&mmc_host_ida, err, 0, GFP_KERNEL);
        if (err < 0) {
                kfree(host);
                return NULL;
-- 
2.21.0

Reply via email to