Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp45319rwl; Tue, 28 Mar 2023 20:33:48 -0700 (PDT) X-Google-Smtp-Source: AK7set83DXl7lIsDYs/ktrpss82VhvHxOEDsUWRarXo/tjAFzDAvqcHBGO/+7Uc5Idf01IINWxEK X-Received: by 2002:a05:6a20:7b0a:b0:cb:f76c:ceda with SMTP id s10-20020a056a207b0a00b000cbf76ccedamr16780771pzh.22.1680060828408; Tue, 28 Mar 2023 20:33:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680060828; cv=none; d=google.com; s=arc-20160816; b=dlZFoSSelHmkIhout/f3k0BDQarR0VJWCps1I2tzk20Nt1lhD3qhOu7OlfZMEpy4MR x/OT1fXxkQ9rRIAnCoTO4DknfA+n4/jbOhomOEaEBf6BLGSLtTuwUAicWkjhUWa8QAS0 beuk9CpF6oajnW6kAsLGuVBHmRALC+3BfMkB+4fRfLYRxkaDHa0m/A/MW9wxZChtOGxU 718jn5quc6dMY2LdfYZLVzYalbo7GvxCnmfKuOZaWItuFRxh6CnfZFF9C5ugxW2nHDPw /DWBGbjfdkHWQtWRLsZmWouFfPgFncNq4M4UW6bVwJSLM3jXz4kz8f6rg2Vbk1nj0CP1 EiMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=ODok872OWMuYqr10vMLeHCq0qr1xJCCtbJiz0/+jENc=; b=LScq3/eb0bGY/MMZ6cmQ84Zz7bzZ9sw+JqjHBBhC0b9dee/KrGTFs0qODoIxKf7Y/k 0x3qO03cuBroTGBXFHiGE/KmTQUkDtUa7ZaJBO6d28mi0CohwifjiDQHu+Vzedlt9uqL dl2t9CdPL/13D9TonQjofJ03M/pghIvIN3rBJ3RK+kahSe7J2SZ4x7ks0lmpqnoIT/Ak hjciYjG1VDI4snTm3WCRmxx15nIt9+BLZ2wSiedkF2HcFAEd6PwNX7SMz2oIf4fidF3O qVNgCd6v8naDu82T0pHr39sCzyy6XFZCaGhqX9kTtLd4NTchOlvsFiHVaKIm9zBK6lug 2Usw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g6-20020a632006000000b0050be58cbaf7si30104823pgg.733.2023.03.28.20.33.35; Tue, 28 Mar 2023 20:33:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230031AbjC2C5P (ORCPT + 99 others); Tue, 28 Mar 2023 22:57:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229470AbjC2C5O (ORCPT ); Tue, 28 Mar 2023 22:57:14 -0400 Received: from ex01.ufhost.com (ex01.ufhost.com [61.152.239.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 403632685; Tue, 28 Mar 2023 19:57:12 -0700 (PDT) Received: from EXMBX166.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX166", Issuer "EXMBX166" (not verified)) by ex01.ufhost.com (Postfix) with ESMTP id 8A5EE24E207; Wed, 29 Mar 2023 10:57:03 +0800 (CST) Received: from EXMBX162.cuchost.com (172.16.6.72) by EXMBX166.cuchost.com (172.16.6.76) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 29 Mar 2023 10:57:03 +0800 Received: from [192.168.120.42] (171.223.208.138) by EXMBX162.cuchost.com (172.16.6.72) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 29 Mar 2023 10:57:02 +0800 Message-ID: Date: Wed, 29 Mar 2023 10:57:00 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [net-next v9 5/6] net: stmmac: Add glue layer for StarFive JH7110 SoC Content-Language: en-US To: Jakub Kicinski CC: , , , , "David S . Miller" , Eric Dumazet , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Emil Renner Berthing , Jose Abreu , Richard Cochran , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Andrew Lunn , Heiner Kallweit , Peter Geis , Yanhong Wang , Tommaso Merciai References: <20230328062009.25454-1-samin.guo@starfivetech.com> <20230328062009.25454-6-samin.guo@starfivetech.com> <20230328191716.18a302a1@kernel.org> From: Guo Samin In-Reply-To: <20230328191716.18a302a1@kernel.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [171.223.208.138] X-ClientProxiedBy: EXCAS061.cuchost.com (172.16.6.21) To EXMBX162.cuchost.com (172.16.6.72) X-YovoleRuleAgent: yovoleflag X-Spam-Status: No, score=-0.0 required=5.0 tests=NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Re: [net-next v9 5/6] net: stmmac: Add glue layer for StarFive JH7110 SoC From: Jakub Kicinski to: Samin Guo data: 2023/3/29 > On Tue, 28 Mar 2023 14:20:08 +0800 Samin Guo wrote: >> This adds StarFive dwmac driver support on the StarFive JH7110 SoC. >> >> Tested-by: Tommaso Merciai >> Co-developed-by: Emil Renner Berthing >> Signed-off-by: Emil Renner Berthing >> Signed-off-by: Samin Guo > > Excellent, now it applies cleanly :) > > Our clang build with W=1 complains that: > > drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c:37:2: warning: variable 'rate' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized] > default: > ^~~~~~~ > drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c:42:36: note: uninitialized use occurs here > err = clk_set_rate(dwmac->clk_tx, rate); > ^~~~ > drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c:24:20: note: initialize the variable 'rate' to silence this warning > unsigned long rate; > ^ > = 0 > > > not sure how you prefer to fix this. Maybe return early? Hi Jakub, Sorry, gcc I used does not report this error (:, and clang compile checks are more stringent. Also, if return early at default node, Arun Ramadoss doesn't think it's a good idea because the function is a void type. I think I can initialize the value of rate first by clk_get_rate (Intel did the same ), like this: static void starfive_dwmac_fix_mac_speed(void *priv, unsigned int speed) { struct starfive_dwmac *dwmac = priv; unsigned long rate; int err; rate = clk_get_rate(dwmac->tx_clk); switch (speed) { case SPEED_1000: rate = 125000000; break; case SPEED_100: rate = 25000000; break; case SPEED_10: rate = 2500000; break; default: dev_err(dwmac->dev, "invalid speed %u\n", speed); break; } err = clk_set_rate(dwmac->clk_tx, rate); if (err) dev_err(dwmac->dev, "failed to set tx rate %lu\n", rate); } What do you think? Best regards, Samin