On 14/03/2022 06:32, Medad Young wrote: > Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> 於 2022年3月11日 > 週五 下午5:15寫道: >> >> On 11/03/2022 02:42, Medad CChien wrote: >>> Add support for Nuvoton NPCM SoC. >>> >>> Signed-off-by: Medad CChien <ctcchien@xxxxxxxxxxx> >>> --- >>> drivers/edac/Kconfig | 9 + >>> drivers/edac/Makefile | 1 + >>> drivers/edac/npcm_edac.c | 714 +++++++++++++++++++++++++++++++++++++++ >>> 3 files changed, 724 insertions(+) >>> create mode 100644 drivers/edac/npcm_edac.c >>> >>> diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig >>> index 58ab63642e72..757e1d160640 100644 >>> --- a/drivers/edac/Kconfig >>> +++ b/drivers/edac/Kconfig >>> @@ -539,4 +539,13 @@ config EDAC_DMC520 >>> Support for error detection and correction on the >>> SoCs with ARM DMC-520 DRAM controller. >>> >>> +config EDAC_NPCM >>> + tristate "Nuvoton NPCM DDR Memory Controller" >>> + depends on ARCH_NPCM >> >> || COMPILE_TEST >> (and test if it compiles) >> >> (...) >> >>> + >>> +MODULE_DEVICE_TABLE(of, npcm_edac_of_match); >>> + >>> +static int npcm_edac_mc_probe(struct platform_device *pdev) >>> +{ >>> + const struct npcm_edac_platform_data *npcm_chip; >>> + struct device *dev = &pdev->dev; >>> + struct edac_mc_layer layers[1]; >>> + const struct of_device_id *id; >>> + struct priv_data *priv_data; >>> + struct mem_ctl_info *mci; >>> + struct resource *res; >>> + void __iomem *reg; >>> + int ret = -ENODEV; >>> + int irq; >>> + >>> + id = of_match_device(npcm_edac_of_match, &pdev->dev); >>> + if (!id) >>> + return -ENODEV; >> >> Why do you need it? How such case is even possible? > this driver is used for two nuvoton SOCs, one is NPCM845 and the other > is NPCM750 Yes and how NULL can happen for OF-only driver? Unless I missed something and this is not an OF-only driver? Do you allow any other matching methods? Best regards, Krzysztof