aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/bus.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/core/bus.c')
-rw-r--r--drivers/mmc/core/bus.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index 86d271148528..c5ef10065a4a 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -16,6 +16,7 @@
16#include <linux/err.h> 16#include <linux/err.h>
17#include <linux/slab.h> 17#include <linux/slab.h>
18#include <linux/stat.h> 18#include <linux/stat.h>
19#include <linux/of.h>
19#include <linux/pm_runtime.h> 20#include <linux/pm_runtime.h>
20 21
21#include <linux/mmc/card.h> 22#include <linux/mmc/card.h>
@@ -321,6 +322,8 @@ int mmc_add_card(struct mmc_card *card)
321#endif 322#endif
322 mmc_init_context_info(card->host); 323 mmc_init_context_info(card->host);
323 324
325 card->dev.of_node = mmc_of_find_child_device(card->host, 0);
326
324 ret = device_add(&card->dev); 327 ret = device_add(&card->dev);
325 if (ret) 328 if (ret)
326 return ret; 329 return ret;
@@ -349,6 +352,7 @@ void mmc_remove_card(struct mmc_card *card)
349 mmc_hostname(card->host), card->rca); 352 mmc_hostname(card->host), card->rca);
350 } 353 }
351 device_del(&card->dev); 354 device_del(&card->dev);
355 of_node_put(card->dev.of_node);
352 } 356 }
353 357
354 put_device(&card->dev); 358 put_device(&card->dev);