From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E184AC433EF for ; Mon, 14 Mar 2022 07:35:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236497AbiCNHgc (ORCPT ); Mon, 14 Mar 2022 03:36:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56276 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235208AbiCNHgb (ORCPT ); Mon, 14 Mar 2022 03:36:31 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0EB8740E4C for ; Mon, 14 Mar 2022 00:35:20 -0700 (PDT) Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id A3E013F1A8 for ; Mon, 14 Mar 2022 07:35:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1647243316; bh=7XD/ZCIPD+pSa/ajluyXSHrFnnLxPbj9dv4H6XXzi7o=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=RRjxuZriAsaR77So9xWe6U3lKguXv3h8zPlDoRWaGCNefBEj2hLvSsREqM4viYOna 4ax02wxx1bMBZ/0eSeoAatw5HU9rSkW2HY86ZeDuz/u10Oqo184enCuPAUDxegRywC 4DDB5qVlzDVl6cepdg1TqmTyERUwyuvLJJe8k0Rrr5VHdKktOx65Z85OTuIyII4lDG hrF9Jch2pR2Vh5jTjKYrH+JZvd7wxy3EvqNYHeM3pKDX1WLYXY97tmweNmljhCDZCi 1RmRMn3mDk65Q+cZepjqpHFgG19K2X1hhsEJcObiNFI6cmcS9TJWok1khtl2fgc29x 8wBk0NwPz2q4g== Received: by mail-ed1-f70.google.com with SMTP id r28-20020a50aadc000000b00418572a365bso3151840edc.0 for ; Mon, 14 Mar 2022 00:35:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=7XD/ZCIPD+pSa/ajluyXSHrFnnLxPbj9dv4H6XXzi7o=; b=cQBJXn2SZFq0EDBtNeh3D5s/McGuxZn2G6G8km/XzwIz85TyUMH+/G3+HnBYM1AC6a 03XSahDBCCxuhlBpFRlp9W2IFAhZG85zspNZHRWrQNSHhbMHEWdiSZy0baBQ1HqLk6pU mnMChfRy2xkSiTXY8poHOVZAV2I50xfdibTxsH6JCNCuPbxwxUC8NftCSi0cAj+nFUWu mTwSnUJlMaTitb3ayrRdpFeKgLzNFdelyp8M3loc/xfIhIpHC+doG67l3UIDodvaPgAN tLU6NURIhVmkAiObb9Jf/HC7Z0SPixCjiic2wyZQAffduLi0NIw+lwO/Quc8f108SjtC CDHQ== X-Gm-Message-State: AOAM5323CHt2/NRRM+ZaaBdX6t5LK5OwqYvuGGaTsHvGoAAnPlofI14h VhimEFMs1HhIIRP7gRaVX90nFP29NsHEjY2NuDgH0bqmKIb/DDDIBleeY/fhyrXHJUTnYghmdCd +IlRle94tfPTKOuPOqlv9P7VB4b782E//uy2vrNw= X-Received: by 2002:a05:6402:4301:b0:418:585b:cfe1 with SMTP id m1-20020a056402430100b00418585bcfe1mr9566743edc.250.1647243316375; Mon, 14 Mar 2022 00:35:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyQjBMUwRWUV4MpFNb8hzB27BfL/O3/uSgyWyC0crEVt9Qfy2ep0MNaTkAJB5rcza+jxkL4Mg== X-Received: by 2002:a05:6402:4301:b0:418:585b:cfe1 with SMTP id m1-20020a056402430100b00418585bcfe1mr9566734edc.250.1647243316197; Mon, 14 Mar 2022 00:35:16 -0700 (PDT) Received: from [192.168.0.152] (xdsl-188-155-174-239.adslplus.ch. [188.155.174.239]) by smtp.googlemail.com with ESMTPSA id l9-20020a1709066b8900b006daa6015a0dsm6336356ejr.89.2022.03.14.00.35.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 14 Mar 2022 00:35:15 -0700 (PDT) Message-ID: <4f8fffa7-631a-9b87-ee0a-0fb7dc1fec66@canonical.com> Date: Mon, 14 Mar 2022 08:35:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v3 3/3] EDAC: nuvoton: Add NPCM memory controller driver Content-Language: en-US To: Avi Fishman Cc: Medad CChien , rric@kernel.org, James Morse , tony.luck@intel.com, Mauro Carvalho Chehab , Borislav Petkov , Rob Herring , Benjamin Fair , Nancy Yuen , Patrick Venture , KWLIU@nuvoton.com, YSCHU@nuvoton.com, JJLIU0@nuvoton.com, KFTING@nuvoton.com, Tomer Maimon , Tali Perry , ctcchien@nuvoton.com, linux-edac , Linux Kernel Mailing List , devicetree , OpenBMC Maillist References: <20220311014245.4612-1-ctcchien@nuvoton.com> <20220311014245.4612-4-ctcchien@nuvoton.com> <1f5e1e49-4ab0-5e06-fa8f-2a11b0fd1df9@canonical.com> From: Krzysztof Kozlowski In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On 13/03/2022 21:22, Avi Fishman wrote: > On Fri, Mar 11, 2022 at 11:15 AM Krzysztof Kozlowski > wrote: >> >> On 11/03/2022 02:42, Medad CChien wrote: >>> Add support for Nuvoton NPCM SoC. >>> >>> Signed-off-by: Medad CChien >>> --- >>> 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? Best regards, Krzysztof