Files
openwrt/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch
John Audia 97e9d7038e kernel: bump 6.12 to 6.12.62
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.62

Manually rebased:
  bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch

Removed upstreamed:
  backport-6.12/830-v6.18-spi-bcm63xx-fix-premature-CS-deassertion-on-RX-only-transactions.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.62&id=e31194bf494f6900a5f96f55ed194a00e458f8d1

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/glinet_gl-mt6000, ramips/tplink_archer-a6-v3, x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21126
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-17 00:27:21 +01:00

45 lines
1.6 KiB
Diff

From faa9140ce1086fe2fe86bb6008907d2b62436d6f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Tue, 15 Apr 2025 08:37:05 +0100
Subject: [PATCH] fixup! mmc: sdhci-of-dwcmshc: define sdio timeout clocks
The usage of the .data field of the of_device_id array changed with the
move to kernel 6.11, but because it holds a void pointer there were
no warnings that the sdhci_dwcmshc_rp1_data was now the wrong type.
Convert sdhci_dwcmshc_rp1_data to a dwcmshc_pltfm_data to avoid a crash
when one of RP1's SDIO interfaces is enabled.
See: https://github.com/raspberrypi/linux/issues/6778
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
drivers/mmc/host/sdhci-of-dwcmshc.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -1250,13 +1250,15 @@ static const struct dwcmshc_pltfm_data s
};
#endif
-static const struct sdhci_pltfm_data sdhci_dwcmshc_rp1_pdata = {
- .ops = &sdhci_dwcmshc_ops,
- .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
- SDHCI_QUIRK_BROKEN_CARD_DETECTION,
- .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
- SDHCI_QUIRK2_BROKEN_HS200 |
- SDHCI_QUIRK2_SPURIOUS_INT_RESP,
+static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rp1_pdata = {
+ .pdata = {
+ .ops = &sdhci_dwcmshc_ops,
+ .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
+ SDHCI_QUIRK_BROKEN_CARD_DETECTION,
+ .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
+ SDHCI_QUIRK2_BROKEN_HS200 |
+ SDHCI_QUIRK2_SPURIOUS_INT_RESP,
+ }
};
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {