lede/package/kernel/mac80211/patches/subsys/250-drivers-make-clear-mmc_hw_reset-is-for-cards.patch
2022-11-09 19:40:00 +08:00

57 lines
1.8 KiB
Diff

--- a/drivers/net/wireless/ath/ath10k/sdio.c
+++ b/drivers/net/wireless/ath/ath10k/sdio.c
@@ -1633,7 +1633,11 @@ static void ath10k_sdio_hif_power_down(struct ath10k *ar)
return;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
ret = mmc_hw_reset(ar_sdio->func->card->host);
+#else
+ ret = mmc_hw_reset(ar_sdio->func->card);
+#endif
if (ret)
ath10k_warn(ar, "unable to reset sdio: %d\n", ret);
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -4164,7 +4164,11 @@ static int brcmf_sdio_bus_reset(struct device *dev)
/* reset the adapter */
sdio_claim_host(sdiodev->func1);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
mmc_hw_reset(sdiodev->func1->card->host);
+#else
+ mmc_hw_reset(sdiodev->func1->card);
+#endif
sdio_release_host(sdiodev->func1);
brcmf_bus_change_state(sdiodev->bus_if, BRCMF_BUS_DOWN);
--- a/drivers/net/wireless/marvell/mwifiex/sdio.c
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
@@ -2643,7 +2643,11 @@ static void mwifiex_sdio_card_reset_work(struct mwifiex_adapter *adapter)
/* Run a HW reset of the SDIO interface. */
sdio_claim_host(func);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
ret = mmc_hw_reset(func->card->host);
+#else
+ ret = mmc_hw_reset(func->card);
+#endif
sdio_release_host(func);
switch (ret) {
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -146,7 +146,11 @@ static int wl12xx_sdio_power_on(struct wl12xx_sdio_glue *glue)
* To guarantee that the SDIO card is power cycled, as required to make
* the FW programming to succeed, let's do a brute force HW reset.
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
mmc_hw_reset(card->host);
+#else
+ mmc_hw_reset(card);
+#endif
sdio_enable_func(func);
sdio_release_host(func);