diff options
author | Daniel Schultz <d.schultz@phytec.de> | 2015-09-02 08:28:52 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-09-04 08:59:42 +0200 |
commit | 572e8cdfa34130fac53ff95102a246a694880444 (patch) | |
tree | c321b8caa1d4e2dcf440981f1b83ceec0c16a51a /drivers/mci/mci-core.c | |
parent | 1f76dfce39cf04b963d542a72e0af4bcf12a4313 (diff) | |
download | barebox-572e8cdfa34130fac53ff95102a246a694880444.tar.gz barebox-572e8cdfa34130fac53ff95102a246a694880444.tar.xz |
drivers: mci: Add mci_get_device_by_name function
Get a 'struct mci' by search after the device name.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci/mci-core.c')
-rw-r--r-- | drivers/mci/mci-core.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index c22f932c72..6d5a4bfc6e 100644 --- a/drivers/mci/mci-core.c +++ b/drivers/mci/mci-core.c @@ -53,6 +53,8 @@ __res & __mask; \ }) +LIST_HEAD(mci_list); + /** * @file * @brief Memory Card framework @@ -1787,6 +1789,8 @@ int mci_register(struct mci_host *host) if (IS_ENABLED(CONFIG_MCI_STARTUP)) mci_card_probe(mci); + list_add_tail(&mci->list, &mci_list); + return 0; err_unregister: @@ -1844,3 +1848,17 @@ void mci_of_parse(struct mci_host *host) host->non_removable = of_property_read_bool(np, "non-removable"); } + +struct mci *mci_get_device_by_name(const char *name) +{ + struct mci *mci; + + list_for_each_entry(mci, &mci_list, list) { + if (!mci->cdevname) + continue; + if (!strcmp(mci->cdevname, name)) + return mci; + } + + return NULL; +} |