aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/card/block.c
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2014-10-06 07:51:40 -0400
committerUlf Hansson <ulf.hansson@linaro.org>2014-11-10 06:40:33 -0500
commit6685ac62b2f08fcff77dc35c6b8bff1b74aaa408 (patch)
tree8fb75914fa7c3bea075f659b1f40524317e47a0c /drivers/mmc/card/block.c
parent0967edc6ef5c3c181cabde3178ea9f33e5130e4a (diff)
mmc: core: Convert mmc_driver to device_driver
The struct mmc_driver adds an extra layer on top of the struct device_driver. That would be fine, if there were a good reason, but that's not the case. Let's simplify code by converting to the common struct device_driver instead and thus also removing superfluous overhead. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/card/block.c')
-rw-r--r--drivers/mmc/card/block.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index dfbdfb995dd3..70569d9b5c74 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -2425,8 +2425,9 @@ static const struct mmc_fixup blk_fixups[] =
2425 END_FIXUP 2425 END_FIXUP
2426}; 2426};
2427 2427
2428static int mmc_blk_probe(struct mmc_card *card) 2428static int mmc_blk_probe(struct device *dev)
2429{ 2429{
2430 struct mmc_card *card = mmc_dev_to_card(dev);
2430 struct mmc_blk_data *md, *part_md; 2431 struct mmc_blk_data *md, *part_md;
2431 char cap_str[10]; 2432 char cap_str[10];
2432 2433
@@ -2481,8 +2482,9 @@ static int mmc_blk_probe(struct mmc_card *card)
2481 return 0; 2482 return 0;
2482} 2483}
2483 2484
2484static void mmc_blk_remove(struct mmc_card *card) 2485static int mmc_blk_remove(struct device *dev)
2485{ 2486{
2487 struct mmc_card *card = mmc_dev_to_card(dev);
2486 struct mmc_blk_data *md = mmc_get_drvdata(card); 2488 struct mmc_blk_data *md = mmc_get_drvdata(card);
2487 2489
2488 mmc_blk_remove_parts(card, md); 2490 mmc_blk_remove_parts(card, md);
@@ -2495,11 +2497,14 @@ static void mmc_blk_remove(struct mmc_card *card)
2495 pm_runtime_put_noidle(&card->dev); 2497 pm_runtime_put_noidle(&card->dev);
2496 mmc_blk_remove_req(md); 2498 mmc_blk_remove_req(md);
2497 mmc_set_drvdata(card, NULL); 2499 mmc_set_drvdata(card, NULL);
2500
2501 return 0;
2498} 2502}
2499 2503
2500static int _mmc_blk_suspend(struct mmc_card *card) 2504static int _mmc_blk_suspend(struct device *dev)
2501{ 2505{
2502 struct mmc_blk_data *part_md; 2506 struct mmc_blk_data *part_md;
2507 struct mmc_card *card = mmc_dev_to_card(dev);
2503 struct mmc_blk_data *md = mmc_get_drvdata(card); 2508 struct mmc_blk_data *md = mmc_get_drvdata(card);
2504 2509
2505 if (md) { 2510 if (md) {
@@ -2511,16 +2516,15 @@ static int _mmc_blk_suspend(struct mmc_card *card)
2511 return 0; 2516 return 0;
2512} 2517}
2513 2518
2514static void mmc_blk_shutdown(struct mmc_card *card) 2519static void mmc_blk_shutdown(struct device *dev)
2515{ 2520{
2516 _mmc_blk_suspend(card); 2521 _mmc_blk_suspend(dev);
2517} 2522}
2518 2523
2519#ifdef CONFIG_PM_SLEEP 2524#ifdef CONFIG_PM_SLEEP
2520static int mmc_blk_suspend(struct device *dev) 2525static int mmc_blk_suspend(struct device *dev)
2521{ 2526{
2522 struct mmc_card *card = mmc_dev_to_card(dev); 2527 return _mmc_blk_suspend(dev);
2523 return _mmc_blk_suspend(card);
2524} 2528}
2525 2529
2526static int mmc_blk_resume(struct device *dev) 2530static int mmc_blk_resume(struct device *dev)
@@ -2546,11 +2550,9 @@ static int mmc_blk_resume(struct device *dev)
2546 2550
2547static SIMPLE_DEV_PM_OPS(mmc_blk_pm_ops, mmc_blk_suspend, mmc_blk_resume); 2551static SIMPLE_DEV_PM_OPS(mmc_blk_pm_ops, mmc_blk_suspend, mmc_blk_resume);
2548 2552
2549static struct mmc_driver mmc_driver = { 2553static struct device_driver mmc_driver = {
2550 .drv = { 2554 .name = "mmcblk",
2551 .name = "mmcblk", 2555 .pm = &mmc_blk_pm_ops,
2552 .pm = &mmc_blk_pm_ops,
2553 },
2554 .probe = mmc_blk_probe, 2556 .probe = mmc_blk_probe,
2555 .remove = mmc_blk_remove, 2557 .remove = mmc_blk_remove,
2556 .shutdown = mmc_blk_shutdown, 2558 .shutdown = mmc_blk_shutdown,