lkml.org 
[lkml]   [2022]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v3 3/3] EDAC: nuvoton: Add NPCM memory controller driver
Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 於 2022年3月14日
週一 下午3:35寫道:
>
> On 13/03/2022 21:22, Avi Fishman wrote:
> > On Fri, Mar 11, 2022 at 11:15 AM Krzysztof Kozlowski
> > <krzysztof.kozlowski@canonical.com> wrote:
> >>
> >> On 11/03/2022 02:42, Medad CChien wrote:
> >>> Add support for Nuvoton NPCM SoC.
> >>>
> >>> Signed-off-by: Medad CChien <ctcchien@nuvoton.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?
> >>
> > Both of_match_device() and of_device_get_match_data() can return NULL,
> > are we missing something?
>
> I think your driver is OF-only, right? If yes, how is it possible to be
> here in probe() (meaning: being matched by of_device_id) and a few lines
> later do not match the same of_device_id?

I got your point, thanks

> Best regards,
> Krzysztof

\
 
 \ /
  Last update: 2022-03-14 09:24    [W:0.046 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site