mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: "illusion.wang" <illusion.wang@nebula-matrix.com>
Cc: dimon.zhao@nebula-matrix.com, alvin.wang@nebula-matrix.com,
	sam.chen@nebula-matrix.com, netdev@vger.kernel.org,
	andrew+netdev@lunn.ch, corbet@lwn.net, kuba@kernel.org,
	linux-doc@vger.kernel.org, lorenzo@kernel.org, pabeni@redhat.com,
	horms@kernel.org, vadim.fedorenko@linux.dev,
	lukas.bulwahn@redhat.com, edumazet@google.com,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 net-next 01/11] net/nebula-matrix: add minimum nbl build framework
Date: Fri, 6 Feb 2026 04:01:02 +0100	[thread overview]
Message-ID: <4eb26cb5-c46e-498f-ad3a-be740737715d@lunn.ch> (raw)
In-Reply-To: <20260206021608.85381-2-illusion.wang@nebula-matrix.com>

> +#define NBL_CAP_TEST_BIT(val, loc) (((val) >> (loc)) & 0x1)
> +
> +#define NBL_CAP_IS_CTRL(val) NBL_CAP_TEST_BIT(val, NBL_CAP_HAS_CTRL_BIT)
> +#define NBL_CAP_IS_NET(val) NBL_CAP_TEST_BIT(val, NBL_CAP_HAS_NET_BIT)
> +#define NBL_CAP_IS_NIC(val) NBL_CAP_TEST_BIT(val, NBL_CAP_IS_NIC_BIT)
> +#define NBL_CAP_IS_OCP(val) NBL_CAP_TEST_BIT(val, NBL_CAP_IS_OCP_BIT)
> +#define NBL_CAP_IS_LEONIS(val) NBL_CAP_TEST_BIT(val, NBL_CAP_IS_LEONIS_BIT)
> +
> +enum {
> +	NBL_CAP_HAS_CTRL_BIT = 0,
> +	NBL_CAP_HAS_NET_BIT,
> +	NBL_CAP_IS_NIC_BIT,
> +	NBL_CAP_IS_LEONIS_BIT,
> +	NBL_CAP_IS_OCP_BIT,
> +};

> +static const struct pci_device_id nbl_id_table[] = {
> +	{ PCI_DEVICE(NBL_VENDOR_ID, NBL_DEVICE_ID_M18110),
> +	  .driver_data = BIT(NBL_CAP_HAS_NET_BIT) | BIT(NBL_CAP_IS_NIC_BIT) |
> +			 BIT(NBL_CAP_IS_LEONIS_BIT) },
> +	{ PCI_DEVICE(NBL_VENDOR_ID, NBL_DEVICE_ID_M18110_LX),
> +	  .driver_data = BIT(NBL_CAP_HAS_NET_BIT) | BIT(NBL_CAP_IS_NIC_BIT) |
> +			 BIT(NBL_CAP_IS_LEONIS_BIT) },

This seems overly complicated. Maybe NBL_CAP_* should be directly
BIT() values? 

NBL_CAP_TEST_BIT then goes away:

#define NBL_CAP_IS_CTRL(val) (val & NBL_CAP_HAS_CTRL_BIT)

which is simple enough you can have it inline, macro not needed.

It is however hard to say, because you add these macros here, but
don't have any uses of them.

	Andrew

  reply	other threads:[~2026-02-06  3:01 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06  2:15 [PATCH v4 net-next 00/11] nbl driver for Nebulamatrix NICs illusion.wang
2026-02-06  2:15 ` [PATCH v4 net-next 01/11] net/nebula-matrix: add minimum nbl build framework illusion.wang
2026-02-06  3:01   ` Andrew Lunn [this message]
2026-02-07  2:24   ` [v4,net-next,01/11] " Jakub Kicinski
2026-02-06  2:15 ` [PATCH v4 net-next 02/11] net/nebula-matrix: add our driver architecture illusion.wang
2026-02-06  3:39   ` Andrew Lunn
2026-02-06  9:26     ` 回复:[PATCH " Illusion Wang
2026-02-07 17:19       ` Andrew Lunn
2026-02-07  2:24   ` [v4,net-next,02/11] " Jakub Kicinski
2026-02-06  2:15 ` [PATCH v4 net-next 03/11] net/nebula-matrix: add chip related definitions illusion.wang
2026-02-07  2:24   ` [v4,net-next,03/11] " Jakub Kicinski
2026-02-06  2:15 ` [PATCH v4 net-next 04/11] net/nebula-matrix: channel msg value and msg struct illusion.wang
2026-02-06  2:15 ` [PATCH v4 net-next 05/11] net/nebula-matrix: add channel layer illusion.wang
2026-02-06  3:47   ` Andrew Lunn
2026-02-07  2:24   ` [v4,net-next,05/11] " Jakub Kicinski
2026-02-06  2:15 ` [PATCH v4 net-next 06/11] net/nebula-matrix: add common resource implementation illusion.wang
2026-02-07  2:24   ` [v4,net-next,06/11] " Jakub Kicinski
2026-02-06  2:15 ` [PATCH v4 net-next 07/11] net/nebula-matrix: add intr " illusion.wang
2026-02-07  2:24   ` [v4,net-next,07/11] " Jakub Kicinski
2026-02-06  2:16 ` [PATCH v4 net-next 08/11] net/nebula-matrix: add vsi " illusion.wang
2026-02-07  2:24   ` [v4,net-next,08/11] " Jakub Kicinski
2026-02-06  2:16 ` [PATCH v4 net-next 09/11] net/nebula-matrix: add Dispatch layer implementation illusion.wang
2026-02-06  2:16 ` [PATCH v4 net-next 10/11] net/nebula-matrix: add common/ctrl dev init/reinit operation illusion.wang
2026-02-07  2:25   ` [v4,net-next,10/11] " Jakub Kicinski
2026-02-06  2:16 ` [PATCH v4 net-next 11/11] net/nebula-matrix: add common dev start/stop operation illusion.wang
2026-02-07  2:25   ` [v4,net-next,11/11] " Jakub Kicinski
2026-02-10  2:07     ` 回复:[v4,net-next,11/11] " Illusion Wang
2026-02-10 13:42       ` Andrew Lunn

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=4eb26cb5-c46e-498f-ad3a-be740737715d@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=alvin.wang@nebula-matrix.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=corbet@lwn.net \
    --cc=dimon.zhao@nebula-matrix.com \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=illusion.wang@nebula-matrix.com \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo@kernel.org \
    --cc=lukas.bulwahn@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=sam.chen@nebula-matrix.com \
    --cc=vadim.fedorenko@linux.dev \
    /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

all inboxes | Powered by JetHome®