[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1f5e1e49-4ab0-5e06-fa8f-2a11b0fd1df9@canonical.com>
Date: Fri, 11 Mar 2022 10:15:21 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
To: Medad CChien <medadyoung@...il.com>, rric@...nel.org,
james.morse@....com, tony.luck@...el.com, mchehab@...nel.org,
bp@...en8.de, robh+dt@...nel.org, benjaminfair@...gle.com,
yuenn@...gle.com, venture@...gle.com, KWLIU@...oton.com,
YSCHU@...oton.com, JJLIU0@...oton.com, KFTING@...oton.com,
avifishman70@...il.com, tmaimon77@...il.com, tali.perry1@...il.com,
ctcchien@...oton.com
Cc: linux-edac@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, openbmc@...ts.ozlabs.org
Subject: Re: [PATCH v3 3/3] EDAC: nuvoton: Add NPCM memory controller driver
On 11/03/2022 02:42, Medad CChien wrote:
> Add support for Nuvoton NPCM SoC.
>
> Signed-off-by: Medad CChien <ctcchien@...oton.com>
> ---
> 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?
> +
> + npcm_chip = of_device_get_match_data(&pdev->dev);
> + if (!npcm_chip)
> + return -ENODEV;
I wonder, how is it possible to have here NULL?
Best regards,
Krzysztof
Powered by blists - more mailing lists