netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: "huangguangbin (A)" <huangguangbin2@huawei.com>
Cc: Leon Romanovsky <leon@kernel.org>, <davem@davemloft.net>,
	<edumazet@google.com>, <pabeni@redhat.com>,
	<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<lipeng321@huawei.com>, <lanhao@huawei.com>
Subject: Re: [PATCH net-next 00/14] redefine some macros of feature abilities judgement
Date: Mon, 26 Sep 2022 10:11:35 -0700	[thread overview]
Message-ID: <20220926101135.26382c0c@kernel.org> (raw)
In-Reply-To: <77050062-93b5-7488-a427-815f4c631b32@huawei.com>

On Mon, 26 Sep 2022 20:56:26 +0800 huangguangbin (A) wrote:
> On 2022/9/24 19:27, Leon Romanovsky wrote:
> > On Sat, Sep 24, 2022 at 10:30:10AM +0800, Guangbin Huang wrote:  
> >> The macros hnae3_dev_XXX_supported just can be used in hclge layer, but
> >> hns3_enet layer may need to use, so this serial redefine these macros.  
> > 
> > IMHO, you shouldn't add new obfuscated code, but delete it.
> > 
> > Jakub,
> > 
> > The more drivers authors will obfuscate in-kernel primitives and reinvent
> > their own names, macros e.t.c, the less external reviewers you will be able
> > to attract.
> > 
> > IMHO, netdev should have more active position do not allow obfuscated code.
> > 
> > Thanks
> >   
> 
> Hi, Leon
> I'm sorry, I can not get your point. Can you explain in more detail?
> Do you mean the name "macro" should not be used?

He is saying that you should try to remove those macros rather than
touch them up. The macros may seem obvious to people working on the
driver but to upstream reviewers any local conventions obfuscate the
code and require looking up definitions.

For example the first patch is better off as:

diff --git a/drivers/net/ethernet/hisilicon/hns3/hnae3.h b/drivers/net/ethernet/hisilicon/hns3/hnae3.h
index 0179fc288f5f..449d496b824b 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hnae3.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.h
@@ -107,9 +107,6 @@ enum HNAE3_DEV_CAP_BITS {
 #define hnae3_ae_dev_gro_supported(ae_dev) \
 		test_bit(HNAE3_DEV_SUPPORT_GRO_B, (ae_dev)->caps)
 
-#define hnae3_dev_fec_supported(hdev) \
-	test_bit(HNAE3_DEV_SUPPORT_FEC_B, (hdev)->ae_dev->caps)
-
 #define hnae3_dev_udp_gso_supported(hdev) \
 	test_bit(HNAE3_DEV_SUPPORT_UDP_GSO_B, (hdev)->ae_dev->caps)
 
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 6962a9d69cf8..ded92f7dbd79 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1179,7 +1179,7 @@ static void hclge_parse_fiber_link_mode(struct hclge_dev *hdev,
 	hclge_convert_setting_sr(speed_ability, mac->supported);
 	hclge_convert_setting_lr(speed_ability, mac->supported);
 	hclge_convert_setting_cr(speed_ability, mac->supported);
-	if (hnae3_dev_fec_supported(hdev))
+	if (test_bit(HNAE3_DEV_SUPPORT_FEC_B, hdev->caps))
 		hclge_convert_setting_fec(mac);
 
 	if (hnae3_dev_pause_supported(hdev))
@@ -1195,7 +1195,7 @@ static void hclge_parse_backplane_link_mode(struct hclge_dev *hdev,
 	struct hclge_mac *mac = &hdev->hw.mac;
 
 	hclge_convert_setting_kr(speed_ability, mac->supported);
-	if (hnae3_dev_fec_supported(hdev))
+	if (test_bit(HNAE3_DEV_SUPPORT_FEC_B, hdev->caps))
 		hclge_convert_setting_fec(mac);
 
 	if (hnae3_dev_pause_supported(hdev))
@@ -3232,7 +3232,7 @@ static void hclge_update_advertising(struct hclge_dev *hdev)
 static void hclge_update_port_capability(struct hclge_dev *hdev,
 					 struct hclge_mac *mac)
 {
-	if (hnae3_dev_fec_supported(hdev))
+	if (test_bit(HNAE3_DEV_SUPPORT_FEC_B, hdev->caps))
 		hclge_convert_setting_fec(mac);
 
 	/* firmware can not identify back plane type, the media type

  reply	other threads:[~2022-09-26 17:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-24  2:30 [PATCH net-next 00/14] redefine some macros of feature abilities judgement Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 01/14] net: hns3: modify macro hnae3_dev_fec_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 02/14] net: hns3: modify macro hnae3_dev_udp_gso_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 03/14] net: hns3: modify macro hnae3_dev_qb_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 04/14] net: hns3: modify macro hnae3_dev_fd_forward_tc_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 05/14] net: hns3: modify macro hnae3_dev_ptp_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 06/14] net: hns3: modify macro hnae3_dev_int_ql_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 07/14] net: hns3: modify macro hnae3_dev_hw_csum_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 08/14] net: hns3: modify macro hnae3_dev_tx_push_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 09/14] net: hns3: modify macro hnae3_dev_phy_imp_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 10/14] net: hns3: modify macro hnae3_dev_ras_imp_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 11/14] net: hns3: delete redundant macro hnae3_dev_tqp_txrx_indep_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 12/14] net: hns3: modify macro hnae3_dev_hw_pad_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 13/14] net: hns3: modify macro hnae3_dev_stash_supported Guangbin Huang
2022-09-24  2:30 ` [PATCH net-next 14/14] net: hns3: modify macro hnae3_dev_pause_supported Guangbin Huang
2022-09-24 11:27 ` [PATCH net-next 00/14] redefine some macros of feature abilities judgement Leon Romanovsky
2022-09-26 12:56   ` huangguangbin (A)
2022-09-26 17:11     ` Jakub Kicinski [this message]
2022-09-27  3:21       ` huangguangbin (A)
2022-09-27 10:24       ` Leon Romanovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220926101135.26382c0c@kernel.org \
    --to=kuba@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=huangguangbin2@huawei.com \
    --cc=lanhao@huawei.com \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lipeng321@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).