Re: [PATCH v3 3/3] EDAC: nuvoton: Add NPCM memory controller driver

From: Krzysztof Kozlowski
Date: Mon Mar 14 2022 - 03:36:32 EST


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