Received: by 2002:a05:7412:d1aa:b0:fc:a2b0:25d7 with SMTP id ba42csp695166rdb; Mon, 29 Jan 2024 15:41:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IFiMJOEZWrRRnJsxtJxr/ADMpJN/sgzT2+4+heU+1yqsO6AvjVhDetsDlCoO5HFx5odE3tC X-Received: by 2002:aa7:d60e:0:b0:55e:f8bd:6246 with SMTP id c14-20020aa7d60e000000b0055ef8bd6246mr2567102edr.18.1706571681162; Mon, 29 Jan 2024 15:41:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706571681; cv=pass; d=google.com; s=arc-20160816; b=pLFYcazjGci74X2fTVe61erkm9IVP14usflfjaZ4imgYgbUyw6QfgPIsrKpMQ5BDRT 19j9IjfsZH4XGkg1MfRCGHZoypn2ZKZlvF+s2GXIM/sySJk5GdpXeyu1ra4dt6ftB+Y4 0xYJsCx66J5/KCkIqKBKQQGG6mXmW7UjAjDO8SsQlFWDeJ1d/jRkt02MvXhCmSu7rU5L e8XtGopCJhwQXc9l7c6PtrrKOz8uTZ86TGPoKqANVT3y4EDa6suxauCg3U1BazuJwof/ qt0LlsFSMOCX00zDegn2wCFoCtgKdO968PNTibyRWJr8UtlBpu9D1CDPIjyb7VMI9SEC vrdw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=v5pb/RdbVw3Kf4tzEOZ4aGKJHjbBHrewQL4TW3xzC3I=; fh=r6vEZw8FCMgbV5mALgoUZIZ1drJgaschsdREqsi+xr4=; b=bZdeFF/6yP8MIdmEkwNnu8zRATxf4VC54ihLiG2ZjROT5qSMVK6+YMx88TkDy9qjKs zBCXImMUOQrRAJxmzaTvwBwP+//U+pDcT3l6ozWD5mQL4kQtzDOzcIed1zFpw/xlrqmJ nP+jLqtVVPXhtxCRdcpT2MVEkp/yQxcnl/9TGCtR0mBLvnNLyHA8LJ//ElA0fnNsnxLo /kBlRVRH4xW7s+7dWY19AwfM87+1EvJBOuVD64cGFeSGNFnsoVxN3Rmr8PFw7pGn1yXq +FsdiPbPJotBfSygkxCXc0b3NaHeD4tPAv8reU3QTlUznAWK1G6FJijnKdLnIQaaEHfl Vp2w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@purestorage.com header.s=google2022 header.b=de8JFTNe; arc=pass (i=1 dkim=pass dkdomain=purestorage.com dmarc=pass fromdomain=purestorage.com); spf=pass (google.com: domain of linux-kernel+bounces-43368-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-43368-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=purestorage.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id el15-20020a056402360f00b0055d6c291f78si3476268edb.472.2024.01.29.15.41.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jan 2024 15:41:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-43368-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@purestorage.com header.s=google2022 header.b=de8JFTNe; arc=pass (i=1 dkim=pass dkdomain=purestorage.com dmarc=pass fromdomain=purestorage.com); spf=pass (google.com: domain of linux-kernel+bounces-43368-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-43368-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=purestorage.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 0B5E31F248DB for ; Mon, 29 Jan 2024 18:54:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9CA9B24B57; Mon, 29 Jan 2024 18:54:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b="de8JFTNe" Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DAD1B12E74 for ; Mon, 29 Jan 2024 18:54:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706554443; cv=none; b=ut0ikcDBiGiigdxEB82coVME87kMDRw02Ga72lC5KhVtZJlnMz/yHigoC5A1g+LCCciPmn3zqjfp/1UjROfOL9s4s671KmRO5JUoRwoZCXIcOzeFxdvGAoc26ZvCtK+Nqh+jAv4kl0SX93moKwSha3lHz1LUD3z5pCFAuG6Mx0c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706554443; c=relaxed/simple; bh=iORQqdsgAXU/6OLfQcR9INwEjc+sM0U03rlHuXCkIZw=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=PbXn1+zRUaHMQhFzgcg/dXqrkuf4YMzr74Oi0+w2u1rmHFFWvRQmpsHkUv4JmnaoqyQQnebLgsXg8tql5Yk1aNd+5kRfrgm7PIfKIQ64FOnndQroNc5htP8U7AEnz66+ut4tNbtQP6t0N9tF2lBpm7BBODCO2ABz2yIMX9Jx6s0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com; spf=fail smtp.mailfrom=purestorage.com; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b=de8JFTNe; arc=none smtp.client-ip=209.85.208.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=purestorage.com Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-2d05551d07bso737011fa.0 for ; Mon, 29 Jan 2024 10:54:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=purestorage.com; s=google2022; t=1706554439; x=1707159239; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=v5pb/RdbVw3Kf4tzEOZ4aGKJHjbBHrewQL4TW3xzC3I=; b=de8JFTNeQD4DiRavNinHMdtkwsujEFowx6JTH0D+giVxNxSRzf/VhzLq33iRo5yFO1 cUlgTAcMxYWYhNCQCxHzSbCpBrowLAv6w53cgweYMOW/EeR86HyEG/NDgyZU0lgGmTrZ mHIlcQSVSQO347pN6DvEsMjnLgRiP81FUaNnr24RKtxv8BOVmrcbo1c/rrWMfEBH6Ycj msElKlwBtTWG1VYmnKuv9zvXYKpggeYVBwqV01waynvTZRUxeetLnPJIvg4zw+Rfcw5c KzPOcbVkwJNuOklR2F1fjkGZVNRjPepTpufFMHUaelXMfmrA8U6M865aRab22HQwPn/d Kj/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706554439; x=1707159239; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v5pb/RdbVw3Kf4tzEOZ4aGKJHjbBHrewQL4TW3xzC3I=; b=Fyqv73T28lX7LyZql5VgVUNU4XU9AbMLr3ABzKEs3nRMT2wD6IgSMnQAxmXkcUFdwf VWZ/MmjjAs+E6T/6e5NiKITsvGhjO1sLoK6i8IVOFSWz4WD1CWiiV4KznF1S5DtTkaA3 FJmWafelY0bdxf9S3pbXHNRPtWI3fWkqVeADYxQ1MMMZKy+6J/yRHmAmtYimbArYVK0v nBvV5tlfe3GdpDKDpCuzGiPLscips3rxcfiaSoQdbbqNBeVigripGKiGlp8kLxH7vQWb q+zGUpc2d+H6UKfanK6dN2DKCz6cfuHi30mtnSVwIPVAudSs4IrhKrSn23Nb1W1BwSFM x0LA== X-Gm-Message-State: AOJu0Yw5JuBYsr4HmyTiCTpP6z+b30Imdf1fZJLmcIzbPs/aBhFu2R/Z ov66sV7Z/5l2CQKqdp1EHDONQ7bM00P50SRAEIsuL4i0Qms4kN3ZCj5v3Ila0jaTh5c2mu/sXXM 33aAKzVCDYh0+LoOkoW5xZFMKgnClhZmyTHkYgQ== X-Received: by 2002:a2e:744:0:b0:2cf:1325:342 with SMTP id i4-20020a2e0744000000b002cf13250342mr4989500ljd.4.1706554438728; Mon, 29 Jan 2024 10:53:58 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240116193542.711482-1-tmenninger@purestorage.com> <04d22048-737a-4281-a43f-b125ebe0c896@lunn.ch> <20240122123349.cxx2i2kzrhuqnasp@skbuf> <1aab2398-2fe9-40b6-aa5b-34dde946668a@lunn.ch> <20240122151251.sl6fzxmfi2f6tokf@skbuf> <20240123152751.gejixrmyet7bsc3j@skbuf> In-Reply-To: <20240123152751.gejixrmyet7bsc3j@skbuf> From: Tim Menninger Date: Mon, 29 Jan 2024 10:53:47 -0800 Message-ID: Subject: Re: [PATCH] net: dsa: mv88e6xxx: Make *_c45 callbacks agree with phy_*_c45 callbacks To: Vladimir Oltean Cc: Andrew Lunn , f.fainelli@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 23, 2024 at 7:27=E2=80=AFAM Vladimir Oltean = wrote: > > On Mon, Jan 22, 2024 at 07:46:06AM -0800, Tim Menninger wrote: > > Andrew, would you feel differently if I added to the patch the same > > logic for C22 ops? Perhaps that symmetry should have existed > > in the initial patch, e.g. > > > > bus->read =3D chip->info->ops->phy_read > > ? mv88e6xxx_mdio_read : NULL; > > bus->write =3D chip->info->ops->phy_write > > ? mv88e6xxx_mdio_write : NULL; > > bus->read_c45 =3D chip->info->ops->phy_read_c45 > > ? mv88e6xxx_mdio_read_c45 : NULL; > > bus->write_c45 =3D chip->info->ops->phy_write_c45 > > ? mv88e6xxx_mdio_write_c45 : NULL; > > Here it's me who would disagree, for the simple fact that it's not > needed, and we shouldn't complicate the code with things that are not > needed (and also, bug fixes should not make more logical changes than > strictly necessary). All mv88e6xxx_ops structure provide the C22 > phy_read() and phy_write(). As listed below, in order: > > static const struct mv88e6xxx_ops mv88e6085_ops =3D { > .phy_read =3D mv88e6185_phy_ppu_read, > .phy_write =3D mv88e6185_phy_ppu_write, > }; > > static const struct mv88e6xxx_ops mv88e6095_ops =3D { > .phy_read =3D mv88e6185_phy_ppu_read, > .phy_write =3D mv88e6185_phy_ppu_write, > }; > > static const struct mv88e6xxx_ops mv88e6097_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6123_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6131_ops =3D { > .phy_read =3D mv88e6185_phy_ppu_read, > .phy_write =3D mv88e6185_phy_ppu_write, > }; > > static const struct mv88e6xxx_ops mv88e6141_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6161_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6165_ops =3D { > .phy_read =3D mv88e6165_phy_read, > .phy_write =3D mv88e6165_phy_write, > }; > > static const struct mv88e6xxx_ops mv88e6171_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6172_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6175_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6176_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6185_ops =3D { > .phy_read =3D mv88e6185_phy_ppu_read, > .phy_write =3D mv88e6185_phy_ppu_write, > }; > > static const struct mv88e6xxx_ops mv88e6190_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6190x_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6191_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6240_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6250_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6290_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6320_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6321_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6341_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6350_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6351_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6352_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6390_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6390x_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > static const struct mv88e6xxx_ops mv88e6393x_ops =3D { > .phy_read =3D mv88e6xxx_g2_smi_phy_read_c22, > .phy_write =3D mv88e6xxx_g2_smi_phy_write_c22, > .phy_read_c45 =3D mv88e6xxx_g2_smi_phy_read_c45, > .phy_write_c45 =3D mv88e6xxx_g2_smi_phy_write_c45, > }; > > > Vladimir, as far as style I have no objections moving to straightlined > > if's. I most prefer to follow the convention the rest of the code follo= ws > > and can change my patch accordingly. > > Yes, so my objections have to do with code style and with the structure > of the commit message. > > It should have been a more linear description of: user impact of the > problem -> identify the cause -> why the existing mechanism to prevent > the issue does not work -> what can be done to resolve the problem -> > see if this is consistent with what is done elsewhere -> why the > proposed change does not break other things -> optionally consider > alternative solutions and explain why this one is better. > > Basically be as preemptive as possible w.r.t. questions that might be > crossing readers' minds as they read the commit. You should view any > clarification question you receive during review as a potential > improvement you could make to the commit message or comments. > > Also, the commit title should focus on what is being fixed from a user > impact perspective. And the Fixes: tag should normally be a single one, > which coincides with what 'git blame' finds (corollary: bugs which have > no user visible impact are not treated like bugs, and are fixed as part > of the "net-next" tree). > > Also, there should be no blank lines between the Fixes: and Signed-off-by= : > tags. And the next patch revision should be generated with git > format-patch --subject-prefix "PATCH net v2" to clarify it is targeted > to the https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git > tree for fixes. See the warning here (Target tree name not specified in > the subject). > https://patchwork.kernel.org/project/netdevbpf/patch/20240116193542.71148= 2-1-tmenninger@purestorage.com/ > > The space beneath the "---" line in the formatted patch is not processed > by git when applying the patch. You can use it for extra info such as > change log compared to v1, and a link to v1 on lore.kernel.org. Thank you for all the feedback. Since there's the other thread, am I to follow through with this patch? If so, I'll clean it up and resubmit (should it be the same thread or a new one?).