From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 184C71E834E; Mon, 11 May 2026 11:58:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778500686; cv=none; b=slMQseFraC212RSeLdIM9p9fvZvxJQ/FtPi+kCKuxANSc9dsZsr96SKRIPWiiCOeUPjmeYCyImHorwrZffh5NML5xmccrSAjmPJgHG04P6bO2R2EZKm4n2843Dgeiat/Gd/u+ywtKCWPuomcH/9vCOuYPEIy15N7D8K8L+2BKyM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778500686; c=relaxed/simple; bh=KF1t/bRGs16yza3DBTgFCMGGOZGbS2ZRe4/jmsnl72o=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=FEE5iAV2SSMvZPOr5ybz+dZwffGpWCLRwkujJSnHj/O7LgeHZTejvl9D2oOPDHrDh+UqpNhoWfL2vS5gM5R/EmkkQ6lqjcTxMayz5+cNPs8s93R6ZXiQEQ5vMhmCdq9UQ5bfGEa5KCAbLMlQ8N05miZbgnd9SMohrzeixg+mQj4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jvjdQJFh; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jvjdQJFh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD16EC2BCF7; Mon, 11 May 2026 11:57:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778500686; bh=KF1t/bRGs16yza3DBTgFCMGGOZGbS2ZRe4/jmsnl72o=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jvjdQJFhfyjs3E/5QNKeFp1jTRAOxDNvz4Mh8U1RxGbjks/gpXVIlmydk3WFacZhD l3f9a2vKk3bOmeWc34go+yHhoRM3iBRq3LZ8M7XZ59udEW1MqdS7mKupb4h1wVV4Do KkvCSR3C+uHG3tH2YS5uwHfM+9OpvFxe4qYtM2DSiMg7qYdP1QRCHem+lUwMYjOqmr X5gNyzzBOvSy7yuBJdyKREHmHjj5av7KbAFq6bfRiAEx+MwwD+2sRATPB1Q8jc1b4u FTEA9GZv56qYWosTkb/DEeuVpP3AGfbpItzeaDDDn/7i4IwntV9jTHGbBse/kGCO8p EO/cNlRqVgdlg== Date: Mon, 11 May 2026 13:57:49 +0200 From: Michael Grzeschik To: Uwe =?iso-8859-15?Q?Kleine-K=F6nig_=28The_Capable_Hub=29?= Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Marc Kleine-Budde , Vincent Mailhol , Johannes Berg , Steffen Klassert , David Dillow , Ion Badulescu , Mark Einon , Rasesh Mody , GR-Linux-NIC-Dev@marvell.com, Manish Chopra , Potnuri Bharat Teja , Denis Kirjanov , Jijie Shao , Jian Shen , Cai Huoqing , Fan Gong , Tony Nguyen , Przemek Kitszel , Tariq Toukan , Saeed Mahameed , Leon Romanovsky , Mark Bloch , Ido Schimmel , Petr Machata , Yibo Dong , Heiner Kallweit , nic_swsd@realtek.com, Jiri Pirko , Francois Romieu , Daniele Venzano , Samuel Chessman , Jiawen Wu , Mengyuan Lou , Kevin Curtis , Arend van Spriel , Stanislav Yakovlev , Richard Cochran , Kees Cook , Aleksandr Loktionov , Thomas Gleixner , Jacob Keller , Thomas Fourier , Ingo Molnar , Kory Maincent , Zilin Guan , Vadim Fedorenko , Marco Crivellari , Bjorn Helgaas , David Arinzon , Yeounsu Moon , Denis Benato , Yonglong Liu , Andy Shevchenko , Randy Dunlap , Yicong Hui , MD Danish Anwar , Nathan Chancellor , Ethan Nelson-Moore , Larysa Zaremba , Ian Lin , Colin Ian King , Double Lo , Markus Schneider-Pargmann , Simon Horman , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-can@vger.kernel.org, linux-parisc@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-rdma@vger.kernel.org, oss-drivers@corigine.com, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com Subject: Re: [PATCH net-next v3 2/2] net: Consistently define pci_device_ids using named initializers Message-ID: References: <20260511090023.1634387-4-u.kleine-koenig@baylibre.com> <20260511090023.1634387-6-u.kleine-koenig@baylibre.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260511090023.1634387-6-u.kleine-koenig@baylibre.com> On Mon, May 11, 2026 at 11:00:24AM +0200, Uwe Kleine-König (The Capable Hub) wrote: > ... 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-koenig@baylibre.com/) > 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. > > Reviewed-by: Jijie Shao > Acked-by: Arend van Spriel > Reviewed-by: Aleksandr Loktionov > Reviewed-by: Petr Machata # for mlxsw > Acked-by: Jacob Keller > Acked-by: Johannes Berg > Signed-off-by: Uwe Kleine-König (The Capable Hub) > Forwarded: id:76da4f44d48bdde84580963862bf9616bee5c9e9.1778149923.git.u.kleine-koenig@baylibre.com (v2) > --- > drivers/net/arcnet/com20020-pci.c | 242 +++------ [...] > 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[] = { > { > - 0x1571, 0xa001, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0, > + PCI_DEVICE(0x1571, 0xa001), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa002), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa003), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa004), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa005), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa006), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa007), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa008), > + .driver_data = 0, > + }, { > + PCI_DEVICE(0x1571, 0xa009), > + .driver_data = (kernel_ulong_t)&card_info_5mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa00a), > + .driver_data = (kernel_ulong_t)&card_info_5mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa00b), > + .driver_data = (kernel_ulong_t)&card_info_5mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa00c), > + .driver_data = (kernel_ulong_t)&card_info_5mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa00d), > + .driver_data = (kernel_ulong_t)&card_info_5mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa00e), > + .driver_data = (kernel_ulong_t)&card_info_5mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa201), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa202), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa203), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa204), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa205), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE(0x1571, 0xa206), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE_SUB(0x10B5, 0x9030, 0x10B5, 0x2978), > + .driver_data = (kernel_ulong_t)&card_info_sohard, > + }, { > + PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x2273), > + .driver_data = (kernel_ulong_t)&card_info_sohard, > + }, { > + PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3263), > + .driver_data = (kernel_ulong_t)&card_info_eae_arc1, > + }, { > + PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3292), > + .driver_data = (kernel_ulong_t)&card_info_eae_ma1, > + }, { > + PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3294), > + .driver_data = (kernel_ulong_t)&card_info_eae_fb2, > + }, { > + PCI_DEVICE(0x14BA, 0x6000), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > + }, { > + PCI_DEVICE(0x10B5, 0x2200), > + .driver_data = (kernel_ulong_t)&card_info_10mbit, > }, > - { > - 0x1571, 0xa002, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0, > - }, > - { > - 0x1571, 0xa003, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0 > - }, > - { > - 0x1571, 0xa004, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0, > - }, > - { > - 0x1571, 0xa005, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0 > - }, > - { > - 0x1571, 0xa006, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0 > - }, > - { > - 0x1571, 0xa007, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0 > - }, > - { > - 0x1571, 0xa008, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - 0 > - }, > - { > - 0x1571, 0xa009, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_5mbit > - }, > - { > - 0x1571, 0xa00a, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_5mbit > - }, > - { > - 0x1571, 0xa00b, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_5mbit > - }, > - { > - 0x1571, 0xa00c, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_5mbit > - }, > - { > - 0x1571, 0xa00d, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_5mbit > - }, > - { > - 0x1571, 0xa00e, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_5mbit > - }, > - { > - 0x1571, 0xa201, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x1571, 0xa202, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x1571, 0xa203, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x1571, 0xa204, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x1571, 0xa205, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x1571, 0xa206, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x10B5, 0x9030, > - 0x10B5, 0x2978, > - 0, 0, > - (kernel_ulong_t)&card_info_sohard > - }, > - { > - 0x10B5, 0x9050, > - 0x10B5, 0x2273, > - 0, 0, > - (kernel_ulong_t)&card_info_sohard > - }, > - { > - 0x10B5, 0x9050, > - 0x10B5, 0x3263, > - 0, 0, > - (kernel_ulong_t)&card_info_eae_arc1 > - }, > - { > - 0x10B5, 0x9050, > - 0x10B5, 0x3292, > - 0, 0, > - (kernel_ulong_t)&card_info_eae_ma1 > - }, > - { > - 0x10B5, 0x9050, > - 0x10B5, 0x3294, > - 0, 0, > - (kernel_ulong_t)&card_info_eae_fb2 > - }, > - { > - 0x14BA, 0x6000, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { > - 0x10B5, 0x2200, > - PCI_ANY_ID, PCI_ANY_ID, > - 0, 0, > - (kernel_ulong_t)&card_info_10mbit > - }, > - { 0, } > + { } > }; > > MODULE_DEVICE_TABLE(pci, com20020pci_id_table); For the com20020 arcnet driver: Reviewed-by: Michael Grzeschik