
Hi,
Some target are failed to build. (e.g, j721e_beagleboneai64_r5)
+drivers/mmc/sdhci-adma.c: In function '__sdhci_adma_write_desc': +drivers/mmc/sdhci-adma.c:37:43: error: 'const struct sdhci_ops' has no member named 'adma_write_desc'
- 37 | if (host && host->ops && host->ops->adma_write_desc)
| ^~
+drivers/mmc/sdhci-adma.c:38:26: error: 'const struct sdhci_ops' has no member named 'adma_write_desc'
- 38 | host->ops->adma_write_desc(host, desc, addr, len, end);
| ^~
+make[3]: *** [scripts/Makefile.build:257: drivers/mmc/sdhci-adma.o] Error 1 +make[2]: *** [scripts/Makefile.build:397: drivers/mmc] Error 2
I will test v2 with CI before resubmitting so that this issue is fixed. It is caused by the change and explanation below:
diff --git a/include/sdhci.h b/include/sdhci.h index a1b74e3bd7..4bde7db5c7 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -291,6 +291,11 @@ struct sdhci_ops { * Return: 0 if successful, -ve on error */ int (*set_enhanced_strobe)(struct sdhci_host *host);
+#if CONFIG_IS_ENABLED(MMC_SDHCI_ADMA)
- void (*adma_write_desc)(struct sdhci_host *host, void **desc,
dma_addr_t addr, int len, bool end);
+#endif };
We got a little too excited about following checkpatch's recommendations (no #ifdef CONFIG_xyz, prefer #if CONFIG_IS_ENABLED(xyz)), which breaks down in this case:
CONFIG_IS_ENABLED(xyz) checks if: - regular build and CONFIG_xyz is enabled (this portion succeeds) - SPL build and CONFIG_SPL_xyz is enabled (this portion fails) drivers/mmc/Makefile builds sdhci-adma.o based on CONFIG_SDHCI_ADMA_HELPERS only.
There is no CONFIG_SPL_SDHCI_ADMA_HELPERS so CONFIG_IS_ENABLED fails while building the SPL version of sdhci-adma.o as the structure definition is different. This only appears on platforms which have CONFIG_SPL_MMC enabled, which our platform did not, so I missed this interaction earlier. I apologize for this mistake.
This will be fixed in v2 by changing the #if back to #ifdef CONFIG_MMC_SDHCI_ADMA_HELPERS, which I will submit after CI finishes running to verify on all platforms.
Thanks, Greg