summaryrefslogtreecommitdiffstats
path: root/hikey-mmc-softdeps.patch
diff options
context:
space:
mode:
Diffstat (limited to 'hikey-mmc-softdeps.patch')
-rw-r--r--hikey-mmc-softdeps.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/hikey-mmc-softdeps.patch b/hikey-mmc-softdeps.patch
new file mode 100644
index 000000000..842243280
--- /dev/null
+++ b/hikey-mmc-softdeps.patch
@@ -0,0 +1,34 @@
+From: Jeremy Linton <lintonrjeremy@gmail.com>
+
+mmc: dw_mmc-k3: Add clk and reset softdep
+
+The mmc/k3 driver is dependent on a number of other linux modules
+which must be built into the initrd in order to use the mmc/sd
+as a boot device for initrd/module based distros.
+
+Normally this would be taken care of with linux's modules.deps
+based on symbolic dependencies but the dwmmc drivers have
+particularly complex relationships that are based on soft
+callback APIs. The result is that dracut and other initrd builders
+are unable to determine the module dependencies directly.
+
+To solve this problem linux has MODULE_SOFTDEP() so lets softdep
+the hisi clock and reset drivers associated with the k3 implementation.
+
+Signed-off-by: Jeremy Linton <lintonrjeremy@gmail.com>
+---
+ drivers/mmc/host/dw_mmc-k3.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
+index 89cdb3d533bb..cd8f545fa30d 100644
+--- a/drivers/mmc/host/dw_mmc-k3.c
++++ b/drivers/mmc/host/dw_mmc-k3.c
+@@ -487,3 +487,4 @@ module_platform_driver(dw_mci_k3_pltfm_driver);
+ MODULE_DESCRIPTION("K3 Specific DW-MSHC Driver Extension");
+ MODULE_LICENSE("GPL v2");
+ MODULE_ALIAS("platform:dwmmc_k3");
++MODULE_SOFTDEP("pre: hi6220_reset clk_hi655x");
+
+--
+2.13.6