From dffbe91e8b571520f63fc2417895683b61853871 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 24 May 2013 15:43:25 +0200 Subject: mci: implement detect driver callback Signed-off-by: Sascha Hauer --- drivers/mci/mci-core.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'drivers/mci/mci-core.c') diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index 416168f79c..50068a7741 100644 --- a/drivers/mci/mci-core.c +++ b/drivers/mci/mci-core.c @@ -1596,6 +1596,24 @@ static int mci_init(void) device_initcall(mci_init); +int mci_detect_card(struct mci_host *host) +{ + int rc; + + rc = mci_check_if_already_initialized(host->mci); + if (rc != 0) + return 0; + + return mci_card_probe(host->mci); +} + +static int mci_detect(struct device_d *dev) +{ + struct mci *mci = container_of(dev, struct mci, dev); + + return mci_detect_card(mci->host); +} + /** * Create a new mci device (for convenience) * @param host mci_host for this MCI device @@ -1619,6 +1637,9 @@ int mci_register(struct mci_host *host) mci->dev.platform_data = host; mci->dev.parent = host->hw_dev; + mci->host = host; + host->mci = mci; + mci->dev.detect = mci_detect; ret = register_device(&mci->dev); if (ret) -- cgit v1.2.3