On 18 July 2018 at 02:49, Jeremy Linton <lintonrjeremy@xxxxxxxxx> wrote: > 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 If I understand correctly, this is about clock and resets. It doesn't sound like a special complex relationship, but rather a quite common. > 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. Why doesn't the -EPROBE_DEFER mechanism help here? Or you simply don't want to load modules that isn't needed? > > Signed-off-by: Jeremy Linton <lintonrjeremy@xxxxxxxxx> > --- > 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"); These are platform specific dependencies, but added as generic module dependencies. It doesn't seem right to me. Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html