RE: [Intel-wired-lan] [PATCH net-next] net: Consistently define pci_device_ids using named initializers
"Loktionov, Aleksandr" <[email protected]> Wed, 29 Apr 2026 09:19:55 +0000
| Newsgroups | dev.linux.lists.brcm80211,org.kernel.vger.linux-can,org.kernel.vger.linux-kernel,org.kernel.vger.linux-parisc,org.kernel.vger.linux-rdma,org.kernel.vger.linux-wireless,org.kernel.vger.netdev,org.osuosl.intel-wired-lan |
|---|---|
| Message-ID | <IA3PR11MB89861D0A2ADD6A857708B0C9E5342@IA3PR11MB8986.namprd11.prod.outlook.com> |
> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf > Of Uwe Kleine-König (The Capable Hub) > Sent: Tuesday, April 28, 2026 7:19 PM > To: Michael Grzeschik <[email protected]>; Andrew Lunn > <[email protected]>; David S. Miller <[email protected]>; Eric > Dumazet <[email protected]>; Jakub Kicinski <[email protected]>; Paolo > Abeni <[email protected]>; Marc Kleine-Budde <[email protected]>; > Vincent Mailhol <[email protected]>; Krzysztof Halasa > <[email protected]>; Johannes Berg <[email protected]> > Cc: Richard Cochran <[email protected]>; Yonglong Liu > <[email protected]>; Kees Cook <[email protected]>; linux- > [email protected]; Zaremba, Larysa <[email protected]>; > [email protected]; Daniele Venzano <[email protected]>; oss- > [email protected]; Nguyen, Anthony L <[email protected]>; > MD Danish Anwar <[email protected]>; Samuel Chessman > <[email protected]>; Fan Gong <[email protected]>; Marco Crivellari > <[email protected]>; Kevin Curtis > <[email protected]>; Ingo Molnar <[email protected]>; Ion > Badulescu <[email protected]>; Shevchenko, Andriy > <[email protected]>; Leon Romanovsky <[email protected]>; > Colin Ian King <[email protected]>; Kitszel, Przemyslaw > <[email protected]>; Peiyang Wang > <[email protected]>; Thomas Fourier <[email protected]>; > Sai Krishna <[email protected]>; Denis Kirjanov > <[email protected]>; [email protected]; linux- > [email protected]; Keller, Jacob E <[email protected]>; > Mengyuan Lou <[email protected]>; Steffen Klassert > <[email protected]>; Stanislav Yakovlev <[email protected]>; > [email protected]; Arend van Spriel > <[email protected]>; [email protected]; Jiri Pirko > <[email protected]>; Philipp Stanner <[email protected]>; Chi-hsien Lin > <[email protected]>; Ido Schimmel <[email protected]>; Potnuri > Bharat Teja <[email protected]>; Double Lo <[email protected]>; > Markus Schneider-Pargmann <[email protected]>; Nathan Chancellor > <[email protected]>; Jiawen Wu <[email protected]>; Cai Huoqing > <[email protected]>; Bjorn Helgaas <[email protected]>; Zilin > Guan <[email protected]>; [email protected]; Yibo Dong > <[email protected]>; Joe Damato <[email protected]>; Petr Machata > <[email protected]>; Kory Maincent <[email protected]>; > [email protected]; [email protected]; > Vadim Fedorenko <[email protected]>; Manish Chopra > <[email protected]>; Denis Benato <[email protected]>; Rasesh > Mody <[email protected]>; [email protected]; Randy Dunlap > <[email protected]>; Mark Bloch <[email protected]>; linux- > [email protected]; Tariq Toukan <[email protected]>; Jian Shen > <[email protected]>; Jijie Shao <[email protected]>; Yeounsu > Moon <[email protected]>; Thomas Gleixner <[email protected]>; Simon > Horman <[email protected]>; Yicong Hui <[email protected]>; Mark > Einon <[email protected]>; Ethan Nelson-Moore > <[email protected]>; Saeed Mahameed <[email protected]>; > Sudarsana Kalluru <[email protected]>; Heiner Kallweit > <[email protected]> > Subject: [Intel-wired-lan] [PATCH net-next] net: Consistently define > pci_device_ids using named initializers > > ... and PCI device helpers. > > The various struct pci_device_id arrays were initialized mostly by one > the PCI_DEVICE macros and then list expressions. The latter isn't > easily > readable if you're not into PCI. Using named initializers is more > explicit and thus easier to parse. > > Also use PCI_DEVICE* helper macros to assign .vendor, .device, > .subvendor and .subdevice where appropriate and skip explicit > assignments of 0 (which the compiler takes care of). > > The secret plan is to make struct pci_device_id::driver_data an > anonymous union (similar to > https://lore.kernel.org/all/cover.1776579304.git.u.kleine- > [email protected]/) > and that requires named initializers. But it's also a nice cleanup on > its own. > > This change doesn't introduce changes to the compiled pci_device_id > arrays. Tested on x86 and arm64. > > Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine- > [email protected]> > --- > Hello, > > the mentioned follow-up quest allows to do > > PCI_DEVICE(0x1571, 0xa203), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > - .driver_data_ptr = &card_info_10mbit, > > which gets rid of a bunch of casts and so brings a little bit more > type > safety. This patch is a preparation for that. > > I handled all of drivers/net/ in a single patch, please tell me if I > should split by subsystem. > > Best regards > Uwe > --- > drivers/net/arcnet/com20020-pci.c | 242 +++------ > drivers/net/can/m_can/m_can_pci.c | 6 +- > drivers/net/can/sja1000/plx_pci.c | 167 +++---- > drivers/net/ethernet/3com/3c59x.c | 80 +-- > drivers/net/ethernet/3com/typhoon.c | 75 ++- > drivers/net/ethernet/8390/ne2k-pci.c | 24 +- > drivers/net/ethernet/adaptec/starfire.c | 4 +- > drivers/net/ethernet/agere/et131x.c | 6 +- > drivers/net/ethernet/broadcom/bnx2.c | 62 ++- > .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 50 +- > .../net/ethernet/cavium/liquidio/lio_main.c | 10 +- > .../ethernet/cavium/liquidio/lio_vf_main.c | 7 +- > drivers/net/ethernet/chelsio/cxgb/common.h | 2 +- > drivers/net/ethernet/chelsio/cxgb/subr.c | 2 +- > .../net/ethernet/chelsio/cxgb3/cxgb3_main.c | 4 +- > .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 4 +- > .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 4 +- > drivers/net/ethernet/dec/tulip/de2104x.c | 6 +- > drivers/net/ethernet/dec/tulip/dmfe.c | 12 +- > drivers/net/ethernet/dec/tulip/tulip_core.c | 78 +-- > drivers/net/ethernet/dec/tulip/uli526x.c | 6 +- > drivers/net/ethernet/dec/tulip/winbond-840.c | 13 +- > drivers/net/ethernet/dlink/dl2k.h | 12 +- > drivers/net/ethernet/dlink/sundance.c | 14 +- > drivers/net/ethernet/fealnx.c | 8 +- > .../net/ethernet/hisilicon/hibmcge/hbg_main.c | 2 +- > .../net/ethernet/hisilicon/hns3/hns3_enet.c | 50 +- > .../hisilicon/hns3/hns3pf/hclge_main.c | 18 +- > .../hisilicon/hns3/hns3vf/hclgevf_main.c | 12 +- > .../net/ethernet/huawei/hinic/hinic_main.c | 12 +- > .../net/ethernet/huawei/hinic3/hinic3_lld.c | 7 +- > drivers/net/ethernet/intel/e100.c | 4 +- > drivers/net/ethernet/intel/e1000e/netdev.c | 471 +++++++++++++---- > - > drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 10 +- > drivers/net/ethernet/intel/i40e/i40e_main.c | 59 +-- > drivers/net/ethernet/intel/iavf/iavf_main.c | 10 +- > drivers/net/ethernet/intel/igb/igb_main.c | 66 +-- > drivers/net/ethernet/intel/igbvf/netdev.c | 4 +- > drivers/net/ethernet/intel/igc/igc_main.c | 34 +- > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 106 ++-- > .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 49 +- > drivers/net/ethernet/mellanox/mlx4/main.c | 6 +- > .../net/ethernet/mellanox/mlx5/core/main.c | 26 +- > .../net/ethernet/mellanox/mlxsw/spectrum.c | 16 +- > drivers/net/ethernet/micrel/ksz884x.c | 8 +- > .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c | 10 +- > drivers/net/ethernet/natsemi/natsemi.c | 4 +- > drivers/net/ethernet/netronome/nfp/nfp_main.c | 81 +-- > .../ethernet/netronome/nfp/nfp_netvf_main.c | 41 +- > drivers/net/ethernet/qlogic/qede/qede_main.c | 20 +- > drivers/net/ethernet/realtek/8139too.c | 52 +- > drivers/net/ethernet/realtek/r8169_main.c | 8 +- > drivers/net/ethernet/rocker/rocker_main.c | 4 +- > drivers/net/ethernet/sis/sis190.c | 6 +- > drivers/net/ethernet/sis/sis900.c | 10 +- > drivers/net/ethernet/smsc/epic100.c | 18 +- > drivers/net/ethernet/sun/cassini.c | 8 +- > drivers/net/ethernet/sun/sungem.c | 26 +- > drivers/net/ethernet/ti/tlan.c | 41 +- > drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 26 +- > .../net/ethernet/wangxun/ngbevf/ngbevf_main.c | 26 +- > .../net/ethernet/wangxun/txgbe/txgbe_main.c | 18 +- > .../ethernet/wangxun/txgbevf/txgbevf_main.c | 18 +- > drivers/net/wan/farsync.c | 24 +- > drivers/net/wan/pc300too.c | 14 +- > drivers/net/wan/pci200syn.c | 6 +- > drivers/net/wan/wanxl.c | 11 +- > .../broadcom/brcm80211/brcmfmac/pcie.c | 17 +- > drivers/net/wireless/intel/ipw2x00/ipw2200.c | 52 +- > 69 files changed, 1308 insertions(+), 1101 deletions(-) > > diff --git a/drivers/net/arcnet/com20020-pci.c > b/drivers/net/arcnet/com20020-pci.c > index dbadda08dce2..6474c7be2992 100644 > --- a/drivers/net/arcnet/com20020-pci.c > +++ b/drivers/net/arcnet/com20020-pci.c > @@ -459,168 +459,88 @@ static struct com20020_pci_card_info > card_info_eae_fb2 = { > > static const struct pci_device_id com20020pci_id_table[] = { > { ... > }; > > MODULE_DEVICE_TABLE(pci, card_ids); > > base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 > -- > 2.47.3 Reviewed-by: Aleksandr Loktionov <[email protected]>