Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp519503imm; Fri, 10 Aug 2018 16:06:20 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwxL0UkrnyrnNxW7qpjsmYEfhkk9Kgrwgpo94ayB3tB9SLqXg97CRlCmd4MdNbtvK3yAMwk X-Received: by 2002:a17:902:4124:: with SMTP id e33-v6mr7792154pld.48.1533942380132; Fri, 10 Aug 2018 16:06:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533942380; cv=none; d=google.com; s=arc-20160816; b=dGmztfR1cWYvemWMmHScYy0vIzQxUVpzyXqYsyYg5x4G3cmdlRHf5fIpQ3/qjSX1uT g1yts1fswApK6qJbmh/yyPEanaPBtcGRfLu9KVnU3n/GP7mvgu/F1WaFY/8IDz1Qmfy0 GZBnL0+wcxBFA7Bo7UWaolF7bH8RMfNV+gZI8OSucYVMu7eU9Nuky8qpUVF6BUUn9gVf nREO9Aje3L7xxMbhKPxwVfiaUJnq7Xvgxs3NjIwUNn4qQs3NhNwTJWR52TJudltjWm1b JNPUCd+08W/isW12Ew/caPEt1kvqFOkV7tzgoeZIfgN+WLWGzoutTm9XIJtWvXTWvHnF QWBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=s+KFkKkDEzOgc9SIs5+Ghedrty87jNGGbk8pFVp4j7Y=; b=Mfarcre0WFJakt+xowYAud3Y5x+tJWNhrqCjt28xXpQa972CsPH53cd25oK9NCp1jd KKuKG18NC67bBeuLAFjQK5WPkX0a1Xij7IcaJEjVQ9gKBpD0dxKz3/ZDxUjj7oOtLbKC Fn3o4MFQqTMeOSAI0ruvRsvjuKpBQD9Tbe6BBfiZXjgaSE9ijAZlMbKnjtFjZflfuXjn kn1ahnLmaqrYvtO3i1mn8FD3Vqntu1qsMUn+W7AYA4GyKcBnHB0Y53BYOoroQ2P6+mYH +daV5lhmbv9MJtxfwlzRJJESRwCikw6mlZYI0IGaIXgEUyTMg6jHT+/7YcOvl7XwX+eo JcMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=MSbIccQ2; dkim=pass header.i=@codeaurora.org header.s=default header.b="aZaO9/ny"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w14-v6si8863820plp.183.2018.08.10.16.06.05; Fri, 10 Aug 2018 16:06:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=MSbIccQ2; dkim=pass header.i=@codeaurora.org header.s=default header.b="aZaO9/ny"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727242AbeHKBgd (ORCPT + 99 others); Fri, 10 Aug 2018 21:36:33 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:57184 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726774AbeHKBgd (ORCPT ); Fri, 10 Aug 2018 21:36:33 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 9570360B23; Fri, 10 Aug 2018 23:04:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1533942277; bh=RCRxMyZLf+jEJ1vrE01bc469wUxzbSUr/UeIQPORsC8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MSbIccQ2brGxGiShpBTASY3ynAwsptPsqfStB4x73vHEQKCqD2/5yz4ysOImkLH78 ECd2XhwvZims3Nvt+lAVE+VI/N2tkZ4hgpRISeXqoBc0NPY5qyZEVHFxCT69orfHWV IpX1r505noTUoEVt2WOGbIRnclEqWzW1qEueBOdI= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 7B85960590; Fri, 10 Aug 2018 23:04:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1533942276; bh=RCRxMyZLf+jEJ1vrE01bc469wUxzbSUr/UeIQPORsC8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=aZaO9/nyjOqaGaCN60t7j2BlaaKrGAhVhYr4IUQqCEf5cD45paFfotK54GZahZnzJ ENcP0xOJBKOykTZ8D3VpSDl8fnbWsEfD5Ev+o+ECAi1WFuVL/0LjZcXdEMQx64zI5s /SlVF8FlFScfQEyg/BwDhnM6rQpn6H6fMaxdBRTs= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 10 Aug 2018 16:04:36 -0700 From: vnkgutta@codeaurora.org To: Evan Green Cc: robh@kernel.org, mchehab@kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, Andy Gross , David Brown , linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, devicetree@vger.kernel.org, tsoni@codeaurora.org, ckadabi@codeaurora.org, rishabhb@codeaurora.org, bp@alien8.de Subject: Re: [PATCH v1 2/4] drivers: soc: Add support to register LLCC EDAC driver In-Reply-To: References: <1533155615-27929-1-git-send-email-vnkgutta@codeaurora.org> <1533155615-27929-3-git-send-email-vnkgutta@codeaurora.org> Message-ID: <6ab4d15223aa4299b0c45613c3859255@codeaurora.org> X-Sender: vnkgutta@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-08-10 10:21, Evan Green wrote: > On Wed, Aug 1, 2018 at 1:33 PM Venkata Narendra Kumar Gutta > wrote: >> >> Cache error reporting controller is to detect and report single >> and double bit errors on Last Level Cache Controller (LLCC) cache. >> Add required support to register LLCC EDAC driver as platform driver, >> from LLCC driver. >> >> Signed-off-by: Venkata Narendra Kumar Gutta >> --- >> drivers/soc/qcom/llcc-slice.c | 18 ++++++++++++++++-- >> include/linux/soc/qcom/llcc-qcom.h | 2 ++ >> 2 files changed, 18 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/soc/qcom/llcc-slice.c >> b/drivers/soc/qcom/llcc-slice.c >> index a63640d..09c8bb0 100644 >> --- a/drivers/soc/qcom/llcc-slice.c >> +++ b/drivers/soc/qcom/llcc-slice.c >> @@ -224,7 +224,7 @@ static int qcom_llcc_cfg_program(struct >> platform_device *pdev) >> u32 attr0_val; >> u32 max_cap_cacheline; >> u32 sz; >> - int ret; >> + int ret = 0; >> const struct llcc_slice_config *llcc_table; >> struct llcc_slice_desc desc; >> >> @@ -282,6 +282,7 @@ int qcom_llcc_probe(struct platform_device *pdev, >> struct resource *llcc_banks_res, *llcc_bcast_res; >> void __iomem *llcc_banks_base, *llcc_bcast_base; >> int ret, i; >> + struct platform_device *llcc_edac; >> >> drv_data = devm_kzalloc(dev, sizeof(*drv_data), GFP_KERNEL); >> if (!drv_data) >> @@ -341,6 +342,19 @@ int qcom_llcc_probe(struct platform_device *pdev, >> mutex_init(&drv_data->lock); >> platform_set_drvdata(pdev, drv_data); >> >> - return qcom_llcc_cfg_program(pdev); >> + ret = qcom_llcc_cfg_program(pdev); >> + if (ret) >> + return ret; >> + >> + drv_data->ecc_irq = platform_get_irq(pdev, 0); >> + if (drv_data->ecc_irq >= 0) { > > This condition will always be true for u32. See below... That's true. I missed that. > >> + llcc_edac = platform_device_register_data(&pdev->dev, >> + "qcom_llcc_edac", -1, >> drv_data, >> + sizeof(*drv_data)); >> + if (IS_ERR(llcc_edac)) >> + dev_err(dev, "Failed to register llcc edac >> driver\n"); >> + } >> + >> + return ret; >> } >> EXPORT_SYMBOL_GPL(qcom_llcc_probe); >> diff --git a/include/linux/soc/qcom/llcc-qcom.h >> b/include/linux/soc/qcom/llcc-qcom.h >> index c681e79..1a3bc25 100644 >> --- a/include/linux/soc/qcom/llcc-qcom.h >> +++ b/include/linux/soc/qcom/llcc-qcom.h >> @@ -78,6 +78,7 @@ struct llcc_slice_config { >> * @num_banks: Number of llcc banks >> * @bitmap: Bit map to track the active slice ids >> * @offsets: Pointer to the bank offsets array >> + * @ecc_irq: interrupt for llcc cache error detection and reporting >> */ >> struct llcc_drv_data { >> struct regmap *regmap; >> @@ -89,6 +90,7 @@ struct llcc_drv_data { >> u32 num_banks; >> unsigned long *bitmap; >> u32 *offsets; >> + u32 ecc_irq; > > The return type for platform_get_irq is int, so this should probably > be int, or "unsigned", but then you'd need to fix your logic above. I think we should keep that as int. I'll check on which one I'm supposed to use here and update in the next version. > >> }; >> >> #if IS_ENABLED(CONFIG_QCOM_LLCC) >> -- >> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora >> Forum, >> a Linux Foundation Collaborative Project >>