Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1b13b4e authored by Chris Ball's avatar Chris Ball
Browse files

mmc: sdhci: Add platform suspend/resume hooks.



Some platforms require saving/restoring registers across suspend/resume;
this hook allows them to do that inside their driver.

Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent a39e5746
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2379,6 +2379,9 @@ int sdhci_suspend_host(struct sdhci_host *host)
	int ret;
	bool has_tuning_timer;

	if (host->ops->platform_suspend)
		host->ops->platform_suspend(host);

	sdhci_disable_card_detection(host);

	/* Disable tuning since we are suspending */
@@ -2429,6 +2432,9 @@ int sdhci_resume_host(struct sdhci_host *host)
	ret = mmc_resume_host(host->mmc);
	sdhci_enable_card_detection(host);

	if (host->ops->platform_resume)
		host->ops->platform_resume(host);

	/* Set the re-tuning expiration flag */
	if ((host->version >= SDHCI_SPEC_300) && host->tuning_count &&
	    (host->tuning_mode == SDHCI_TUNING_MODE_1))
+2 −0
Original line number Diff line number Diff line
@@ -275,6 +275,8 @@ struct sdhci_ops {
	void	(*platform_reset_exit)(struct sdhci_host *host, u8 mask);
	int	(*set_uhs_signaling)(struct sdhci_host *host, unsigned int uhs);
	void	(*hw_reset)(struct sdhci_host *host);
	void	(*platform_suspend)(struct sdhci_host *host);
	void	(*platform_resume)(struct sdhci_host *host);
};

#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS