mmc: atmel-mci: Remove redundant suspend and resume callbacks
Suspend and resume of cards are handled by the protocol layer and consequently the mmc_suspend|resume_host APIs are marked as deprecated. While moving away from using the deprecated APIs, there are nothing left to be done for the suspend and resume callbacks, so remove them. Cc: Ludovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
bbd43682eb
commit
914af7c2e5
|
@ -255,7 +255,6 @@ struct atmel_mci_slot {
|
||||||
#define ATMCI_CARD_PRESENT 0
|
#define ATMCI_CARD_PRESENT 0
|
||||||
#define ATMCI_CARD_NEED_INIT 1
|
#define ATMCI_CARD_NEED_INIT 1
|
||||||
#define ATMCI_SHUTDOWN 2
|
#define ATMCI_SHUTDOWN 2
|
||||||
#define ATMCI_SUSPENDED 3
|
|
||||||
|
|
||||||
int detect_pin;
|
int detect_pin;
|
||||||
int wp_pin;
|
int wp_pin;
|
||||||
|
@ -2529,70 +2528,10 @@ static int __exit atmci_remove(struct platform_device *pdev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM_SLEEP
|
|
||||||
static int atmci_suspend(struct device *dev)
|
|
||||||
{
|
|
||||||
struct atmel_mci *host = dev_get_drvdata(dev);
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < ATMCI_MAX_NR_SLOTS; i++) {
|
|
||||||
struct atmel_mci_slot *slot = host->slot[i];
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (!slot)
|
|
||||||
continue;
|
|
||||||
ret = mmc_suspend_host(slot->mmc);
|
|
||||||
if (ret < 0) {
|
|
||||||
while (--i >= 0) {
|
|
||||||
slot = host->slot[i];
|
|
||||||
if (slot
|
|
||||||
&& test_bit(ATMCI_SUSPENDED, &slot->flags)) {
|
|
||||||
mmc_resume_host(host->slot[i]->mmc);
|
|
||||||
clear_bit(ATMCI_SUSPENDED, &slot->flags);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
} else {
|
|
||||||
set_bit(ATMCI_SUSPENDED, &slot->flags);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int atmci_resume(struct device *dev)
|
|
||||||
{
|
|
||||||
struct atmel_mci *host = dev_get_drvdata(dev);
|
|
||||||
int i;
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < ATMCI_MAX_NR_SLOTS; i++) {
|
|
||||||
struct atmel_mci_slot *slot = host->slot[i];
|
|
||||||
int err;
|
|
||||||
|
|
||||||
slot = host->slot[i];
|
|
||||||
if (!slot)
|
|
||||||
continue;
|
|
||||||
if (!test_bit(ATMCI_SUSPENDED, &slot->flags))
|
|
||||||
continue;
|
|
||||||
err = mmc_resume_host(slot->mmc);
|
|
||||||
if (err < 0)
|
|
||||||
ret = err;
|
|
||||||
else
|
|
||||||
clear_bit(ATMCI_SUSPENDED, &slot->flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static SIMPLE_DEV_PM_OPS(atmci_pm, atmci_suspend, atmci_resume);
|
|
||||||
|
|
||||||
static struct platform_driver atmci_driver = {
|
static struct platform_driver atmci_driver = {
|
||||||
.remove = __exit_p(atmci_remove),
|
.remove = __exit_p(atmci_remove),
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "atmel_mci",
|
.name = "atmel_mci",
|
||||||
.pm = &atmci_pm,
|
|
||||||
.of_match_table = of_match_ptr(atmci_dt_ids),
|
.of_match_table = of_match_ptr(atmci_dt_ids),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue