diff options
| author | Ulf Hansson <ulf.hansson@linaro.org> | 2015-04-14 07:06:12 -0400 |
|---|---|---|
| committer | Ulf Hansson <ulf.hansson@linaro.org> | 2015-04-17 05:48:01 -0400 |
| commit | 96541bac0b4e62efa42e7900d9b32e6baa9a214c (patch) | |
| tree | d8377a74bab6e42d98bfd1a32fc352968d3769d8 /include | |
| parent | 636efbc66452659840a9a4df1daf80074ee439f6 (diff) | |
Revert "mmc: core: Convert mmc_driver to device_driver"
This reverts commit 6685ac62b2f0 ("mmc: core: Convert mmc_driver to
device_driver")
The reverted commit went too far in simplifing the device driver parts
for mmc.
Let's restore the old mmc_driver to enable driver core to sooner
or later to remove the ->probe(), ->remove() and ->shutdown() callbacks
from the struct device_driver.
Note that, the old ->suspend|resume() callbacks in the struct
mmc_driver don't need to be restored, since the mmc block layer has
converted to the modern system PM ops.
Fixes: 6685ac62b2f0 ("mmc: core: Convert mmc_driver to device_driver")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/mmc/card.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index a6cf4c063e4e..19f0175c0afa 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h | |||
| @@ -512,8 +512,18 @@ static inline int mmc_card_broken_irq_polling(const struct mmc_card *c) | |||
| 512 | 512 | ||
| 513 | #define mmc_dev_to_card(d) container_of(d, struct mmc_card, dev) | 513 | #define mmc_dev_to_card(d) container_of(d, struct mmc_card, dev) |
| 514 | 514 | ||
| 515 | extern int mmc_register_driver(struct device_driver *); | 515 | /* |
| 516 | extern void mmc_unregister_driver(struct device_driver *); | 516 | * MMC device driver (e.g., Flash card, I/O card...) |
| 517 | */ | ||
| 518 | struct mmc_driver { | ||
| 519 | struct device_driver drv; | ||
| 520 | int (*probe)(struct mmc_card *); | ||
| 521 | void (*remove)(struct mmc_card *); | ||
| 522 | void (*shutdown)(struct mmc_card *); | ||
| 523 | }; | ||
| 524 | |||
| 525 | extern int mmc_register_driver(struct mmc_driver *); | ||
| 526 | extern void mmc_unregister_driver(struct mmc_driver *); | ||
| 517 | 527 | ||
| 518 | extern void mmc_fixup_device(struct mmc_card *card, | 528 | extern void mmc_fixup_device(struct mmc_card *card, |
| 519 | const struct mmc_fixup *table); | 529 | const struct mmc_fixup *table); |
