diff options
author | Ulf Hansson <ulf.hansson@linaro.org> | 2014-10-06 07:51:40 -0400 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2014-11-10 06:40:33 -0500 |
commit | 6685ac62b2f08fcff77dc35c6b8bff1b74aaa408 (patch) | |
tree | 8fb75914fa7c3bea075f659b1f40524317e47a0c /drivers/mmc/card/block.c | |
parent | 0967edc6ef5c3c181cabde3178ea9f33e5130e4a (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.c | 26 |
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 | ||
2428 | static int mmc_blk_probe(struct mmc_card *card) | 2428 | static 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 | ||
2484 | static void mmc_blk_remove(struct mmc_card *card) | 2485 | static 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 | ||
2500 | static int _mmc_blk_suspend(struct mmc_card *card) | 2504 | static 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 | ||
2514 | static void mmc_blk_shutdown(struct mmc_card *card) | 2519 | static 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 |
2520 | static int mmc_blk_suspend(struct device *dev) | 2525 | static 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 | ||
2526 | static int mmc_blk_resume(struct device *dev) | 2530 | static int mmc_blk_resume(struct device *dev) |
@@ -2546,11 +2550,9 @@ static int mmc_blk_resume(struct device *dev) | |||
2546 | 2550 | ||
2547 | static SIMPLE_DEV_PM_OPS(mmc_blk_pm_ops, mmc_blk_suspend, mmc_blk_resume); | 2551 | static SIMPLE_DEV_PM_OPS(mmc_blk_pm_ops, mmc_blk_suspend, mmc_blk_resume); |
2548 | 2552 | ||
2549 | static struct mmc_driver mmc_driver = { | 2553 | static 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, |