[{"id":3683925,"web_url":"http://patchwork.ozlabs.org/comment/3683925/","msgid":"<87ecjyp2wl.fsf@nvidia.com>","list_archive_url":null,"date":"2026-04-29T08:48:33","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":79901,"url":"http://patchwork.ozlabs.org/api/people/79901/","name":"Petr Machata","email":"petrm@nvidia.com"},"content":"Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> writes:\n\n>  .../net/ethernet/mellanox/mlxsw/spectrum.c    |  16 +-\n\nReviewed-by: Petr Machata <petrm@nvidia.com> # for mlxsw","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=JKYxb24O;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g59x82GFJz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 18:50:19 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 43D144086E;\n\tWed, 29 Apr 2026 08:50:18 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 8Okg5zGK4KsL; Wed, 29 Apr 2026 08:50:16 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 56FE0407DF;\n\tWed, 29 Apr 2026 08:50:16 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists1.osuosl.org (Postfix) with ESMTP id E6C3A23D\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 08:50:14 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id C9A99407DF\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 08:50:14 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id iFwxoF3epwtY for <intel-wired-lan@lists.osuosl.org>;\n Wed, 29 Apr 2026 08:50:14 +0000 (UTC)","from SJ2PR03CU001.outbound.protection.outlook.com\n (mail-westusazon11012023.outbound.protection.outlook.com [52.101.43.23])\n by smtp4.osuosl.org (Postfix) with ESMTPS id DEE07407AA\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 08:50:13 +0000 (UTC)","from PH7P221CA0027.NAMP221.PROD.OUTLOOK.COM (2603:10b6:510:32a::24)\n by SA1PR12MB6918.namprd12.prod.outlook.com (2603:10b6:806:24d::8)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.18; Wed, 29 Apr\n 2026 08:50:06 +0000","from SA2PEPF00001506.namprd04.prod.outlook.com\n (2603:10b6:510:32a:cafe::47) by PH7P221CA0027.outlook.office365.com\n (2603:10b6:510:32a::24) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.30 via Frontend Transport; Wed,\n 29 Apr 2026 08:50:06 +0000","from mail.nvidia.com (216.228.117.161) by\n SA2PEPF00001506.mail.protection.outlook.com (10.167.242.38) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9846.18 via Frontend Transport; Wed, 29 Apr 2026 08:50:06 +0000","from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 29 Apr\n 2026 01:49:50 -0700","from fedora (10.126.230.37) by rnnvmail201.nvidia.com (10.129.68.8)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 29 Apr\n 2026 01:49:19 -0700"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 56FE0407DF","OpenDKIM Filter v2.11.0 smtp4.osuosl.org DEE07407AA"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777452616;\n\tbh=LQLqNpxiHzqyaKJUMH/ez6l3d9w8YGE6tFHvQC8fbEY=;\n\th=References:To:Date:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\t List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\t From;\n\tb=JKYxb24OKesqzPhcVJsHihI+z19P5uQUcvj/VRqda3e73Yu7U9/vmbGNAbXRCAX9b\n\t gMuuXx9OmMiFQTMGP8Jy0t7tUGwQrSGoasCuvfJYAvSYlU9AqdkOGVbAK2X339G6fS\n\t s/SrjBj48EwcNbredl65Xo7vlo9sQmbinGCNlpEJPG8syK9sWfU47Nz41KuIetAyu9\n\t 0LMhVGVFn29k3WlMtCrinI5d0DRKsGYgWyRkvom24zeAKuRGHhAD7FEARg2NNh4gRJ\n\t 3ojGruuIqthgHknU6HDRHfFqauO0Jv8c+PZUVXSiGjEkaVdxhA3FjoawGNFonGDmxY\n\t dZJx/KsKhrIyQ==","Received-SPF":["Pass (mailfrom) identity=mailfrom; client-ip=52.101.43.23;\n helo=sj2pr03cu001.outbound.protection.outlook.com;\n envelope-from=petrm@nvidia.com; receiver=<UNKNOWN>","Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org DEE07407AA","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=hY83tl5zWYmkRsL3redkyiMshVBG8QXjdSvPfPVrXUJPRSmVKGsyuvV5LKptsV1zjds1nRtqa8MyX1FgoWBsgJXwBXWo8g11EgirgKS/kiJ23ObBuTws/vFRTgOIJ1WsHlhWIgtmOu6Bni4JDCMOTDBIzaMZxamf0SMsxTtmubohvsBvCnBQpBjfej8fLNqhfBr4EOI3FVUif5bsE9Fd4MfIlpEtH8U+nx+qkKNq87wFNArIAaSRcnialtv32XpYjXhtkSB10FyV0qhhKt7lw3MwjXoYtfgZD2RFhML8iqU51OAqzkYd1xd7qd+IH2JL1RjUbqb9nVhrHYAhPhQ1bQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=LQLqNpxiHzqyaKJUMH/ez6l3d9w8YGE6tFHvQC8fbEY=;\n b=vJhOqWRWIc3IQAEEVTeL7ES/gLOMjUB/eaR+Hdyl/0XbdSg9kvuqhVmH0j73CWfZreZJcaG1C1UBir7eIw07re49Csp0kKFvbHJzW+0/vNDm9LA+OxUa3ZLYONRb36AbUmjjjK7glbzZLQEdfKRYOe0Z44LsawY715OVPqo/DtGmzis6z6w7sGRl18xpQHjb7+NlQexyWPDWQzA2753UobGokdiv7NlqB6A6ZD7OCTKsRNCc5RDq/7o06TJy1urhA6ECNrnLwpWeGIwL6muyC3e4HJOS2C+LPeFY6N90XFFJXviuHnlfE327C8n3TQeYIUfMFBiNvnbo7qK6+kEbCw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=broadcom.com smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)","X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","User-agent":"mu4e 1.8.14; emacs 30.2","To":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","Date":"Wed, 29 Apr 2026 10:48:33 +0200","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","Message-ID":"<87ecjyp2wl.fsf@nvidia.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","X-Originating-IP":"[10.126.230.37]","X-ClientProxiedBy":"rnnvmail203.nvidia.com (10.129.68.9) To\n rnnvmail201.nvidia.com (10.129.68.8)","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"SA2PEPF00001506:EE_|SA1PR12MB6918:EE_","X-MS-Office365-Filtering-Correlation-Id":"3ac9ec40-87ef-4187-449c-08dea5cc4ffb","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|1800799024|82310400026|376014|7416014|36860700016|56012099003|18002099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n 8bq0fNVdErK4WgmgmX98zjVtDpNSMsWKivTTVE/IWpgFq4XTAVxIR+7mnHc+8pTKVppfzGkS2zTLghNh7Z9DhHJO3ZOKX44mLzsWK+m9v0E5NWcrb88pylNU6dG36gTOli6l4HuVkIn0XvCy3qQ/pPaZVoYC82p+z3UF7oTe6T+knQjdscNOJPh9idGYCFavt2NuXA/lor0NrB+sPfPQmqY5Mu6SMLqOvGqvqDTKueQOoxfUGU2Ek5qbVIWl2iVJ/lGI7M8Pur5M4Df0kqel+/AINfIKeL2cLddQcwQZzKnDyJtcOGeEzVdWGCIYAsIROPoDbdlK4nCRVsfGtAZFsG/oTmU/7hOnSBcpq1icWtuJIma7ITowC+DOYVCMjMxxvlrzDlD5HicAsKOQ4w02itJq6FeJIDFqHBV/q+fq+rCvQftHBAK9GVCCpykjCpGQK+wrtBnwOWBjVmWHpSL+aeLnG2X9jm0RvdgjUvGv7boFFVCioEt5Ip8glLwqNzUeSIKzZAy3EV2DO5N/CScCAmLXDAH6vPJglncPs31dOCDxS9XO+bVo1Fb9eqmbZCQAU7f2agqt/jkMWKmvQAksZG5MBCqYh5SilJwcYznME4NBp0ZiuZSNN8tWgrO/XJ1KldanvFnhbE5d1Z6Sdn7EVc3swY0voLaf5yam8+H5JG53r7li13LRLIV8vN4cXR6FJc5tdpFaKEr9yQs6Wa0QFv/m5/AOzZEEg91q9PQFji6FDPE9u/PIeU/xRwBM1PmFgPMPpUQ5XI6H9h0AemLJWA==","X-Forefront-Antispam-Report":"CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE;\n SFS:(13230040)(1800799024)(82310400026)(376014)(7416014)(36860700016)(56012099003)(18002099003)(22082099003);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n P3sW3KbOswvfaIRcmHKUoye/TZNkZp5JpakbOBbshdfFspxo1WuSGKTEK14QvYoPD5HYD09YWWQrCxOo2d84gwqhplgVUau8IEHk9Mqr7hb+5SdvRZGZhh3E2p2gus3LQ6Ql977h7ox8bdUKwS2gz7IV0VoAl+HDuvOfxoL7ED8/SgBRDG0BpdXOa1FaA9wcEp5MGeiPUIBftyrGqz9Nh6og4hHSkR8TPLBTjbpeONqYKpcVdoly5KgasMYIn8fThqg3YUeVnTSYwAV/zEG0qkKsNaYLqhlRFPRX53AmbDDSvhCufFpNd9jZbI1yPq2rdE31uJVXoQPzxGXyElqkUAKrjxrxfeJV2bJkcRlKBrd62uqNPYrOfNAu3RB1+v7NgEaQdZqqgFjt3Hj7/02rpODLO2/gIWw/u7Cp3ZCx+KLsJZJp8As6IWnmmNquFuju","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"29 Apr 2026 08:50:06.5872 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 3ac9ec40-87ef-4187-449c-08dea5cc4ffb","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161];\n Helo=[mail.nvidia.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n SA2PEPF00001506.namprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SA1PR12MB6918","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=Nvidia.com; s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=LQLqNpxiHzqyaKJUMH/ez6l3d9w8YGE6tFHvQC8fbEY=;\n b=NPhT++I9aYe94KXmaTkNzJpcXCIz08FXGmgBNzxntYhFXPUjuBPfKNZZF/yZBwzQ/UnZCV0XBLC0Qp/LDbbax0Y8pn+muubh+6FhC6Y0PL8wt4kqOPb/nI2V4+d5g89wSospsBttq2RjaPQlVDj2TQ0xX7he78jgQTJvWHGcLp/pYhP/Zme1QJah89jJmapjcSewiCZ5uMLMI5rVnQCCvZ9W9ggkcoBsq6LIxQE+OkGX7sxh4CvVzpvoK3Zb9lY5FivGoS9+jK1UnafShz1DKH4+uX1So0jR442T0EoatrmtOYXH0ia7ooYi7batgGILCw+p1Q2NXjvP6fvyy8TiKg==","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=nvidia.com","smtp4.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=NPhT++I9"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","From":"Petr Machata via Intel-wired-lan <intel-wired-lan@osuosl.org>","Reply-To":"Petr Machata <petrm@nvidia.com>","Cc":"Cai Huoqing <cai.huoqing@linux.dev>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>, Eric\n Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>,\n Richard Cochran <richardcochran@gmail.com>,\n Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Jian Shen <shenjian15@huawei.com>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>, Colin\n Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Peiyang Wang <wangpeiyang1@huawei.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, Kevin\n Curtis <kevin.curtis@farsite.co.uk>,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Philipp Stanner <phasta@kernel.org>,\n Chi-hsien Lin <chi-hsien.lin@cypress.com>,\n Ido Schimmel <idosch@nvidia.com>, Potnuri Bharat Teja <bharat@chelsio.com>,\n Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Marc Kleine-Budde <mkl@pengutronix.de>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Andy\n Shevchenko <andriy.shevchenko@intel.com>, Petr Machata <petrm@nvidia.com>,\n Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com,\n GR-Linux-NIC-Dev@marvell.com, Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>, Denis Benato <benato.denis96@gmail.com>,\n Rasesh Mody <rmody@marvell.com>, netdev@vger.kernel.org,\n oss-drivers@corigine.com, Vincent\n Mailhol <mailhol@kernel.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n \"David S. Miller\" <davem@davemloft.net>, Jijie Shao <shaojijie@huawei.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n linux-rdma@vger.kernel.org, Mark Einon <mark.einon@gmail.com>, Johannes\n Berg <johannes@sipsolutions.net>, Heiner Kallweit <hkallweit1@gmail.com>,\n Saeed Mahameed <saeedm@nvidia.com>, Sudarsana Kalluru <skalluru@marvell.com>,\n Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3683944,"web_url":"http://patchwork.ozlabs.org/comment/3683944/","msgid":"<IA3PR11MB89861D0A2ADD6A857708B0C9E5342@IA3PR11MB8986.namprd11.prod.outlook.com>","list_archive_url":null,"date":"2026-04-29T09:19:55","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":75597,"url":"http://patchwork.ozlabs.org/api/people/75597/","name":"Aleksandr Loktionov","email":"aleksandr.loktionov@intel.com"},"content":"> -----Original Message-----\n> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf\n> Of Uwe Kleine-König (The Capable Hub)\n> Sent: Tuesday, April 28, 2026 7:19 PM\n> To: Michael Grzeschik <m.grzeschik@pengutronix.de>; Andrew Lunn\n> <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric\n> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo\n> Abeni <pabeni@redhat.com>; Marc Kleine-Budde <mkl@pengutronix.de>;\n> Vincent Mailhol <mailhol@kernel.org>; Krzysztof Halasa\n> <khc@pm.waw.pl>; Johannes Berg <johannes@sipsolutions.net>\n> Cc: Richard Cochran <richardcochran@gmail.com>; Yonglong Liu\n> <liuyonglong@huawei.com>; Kees Cook <kees@kernel.org>; linux-\n> wireless@vger.kernel.org; Zaremba, Larysa <larysa.zaremba@intel.com>;\n> brcm80211@lists.linux.dev; Daniele Venzano <venza@brownhat.org>; oss-\n> drivers@corigine.com; Nguyen, Anthony L <anthony.l.nguyen@intel.com>;\n> MD Danish Anwar <danishanwar@ti.com>; Samuel Chessman\n> <chessman@tux.org>; Fan Gong <gongfan1@huawei.com>; Marco Crivellari\n> <marco.crivellari@suse.com>; Kevin Curtis\n> <kevin.curtis@farsite.co.uk>; Ingo Molnar <mingo@kernel.org>; Ion\n> Badulescu <ionut@badula.org>; Shevchenko, Andriy\n> <andriy.shevchenko@intel.com>; Leon Romanovsky <leon@kernel.org>;\n> Colin Ian King <colin.i.king@gmail.com>; Kitszel, Przemyslaw\n> <przemyslaw.kitszel@intel.com>; Peiyang Wang\n> <wangpeiyang1@huawei.com>; Thomas Fourier <fourier.thomas@gmail.com>;\n> Sai Krishna <saikrishnag@marvell.com>; Denis Kirjanov\n> <kirjanov@gmail.com>; intel-wired-lan@lists.osuosl.org; linux-\n> parisc@vger.kernel.org; Keller, Jacob E <jacob.e.keller@intel.com>;\n> Mengyuan Lou <mengyuanlou@net-swift.com>; Steffen Klassert\n> <klassert@kernel.org>; Stanislav Yakovlev <stas.yakovlev@gmail.com>;\n> linux-rdma@vger.kernel.org; Arend van Spriel\n> <arend.vanspriel@broadcom.com>; nic_swsd@realtek.com; Jiri Pirko\n> <jiri@resnulli.us>; Philipp Stanner <phasta@kernel.org>; Chi-hsien Lin\n> <chi-hsien.lin@cypress.com>; Ido Schimmel <idosch@nvidia.com>; Potnuri\n> Bharat Teja <bharat@chelsio.com>; Double Lo <double.lo@cypress.com>;\n> Markus Schneider-Pargmann <msp@baylibre.com>; Nathan Chancellor\n> <nathan@kernel.org>; Jiawen Wu <jiawenwu@trustnetic.com>; Cai Huoqing\n> <cai.huoqing@linux.dev>; Bjorn Helgaas <bhelgaas@google.com>; Zilin\n> Guan <zilin@seu.edu.cn>; linux-can@vger.kernel.org; Yibo Dong\n> <dong100@mucse.com>; Joe Damato <joe@dama.to>; Petr Machata\n> <petrm@nvidia.com>; Kory Maincent <kory.maincent@bootlin.com>;\n> brcm80211-dev-list.pdl@broadcom.com; GR-Linux-NIC-Dev@marvell.com;\n> Vadim Fedorenko <vadim.fedorenko@linux.dev>; Manish Chopra\n> <manishc@marvell.com>; Denis Benato <benato.denis96@gmail.com>; Rasesh\n> Mody <rmody@marvell.com>; netdev@vger.kernel.org; Randy Dunlap\n> <rdunlap@infradead.org>; Mark Bloch <mbloch@nvidia.com>; linux-\n> kernel@vger.kernel.org; Tariq Toukan <tariqt@nvidia.com>; Jian Shen\n> <shenjian15@huawei.com>; Jijie Shao <shaojijie@huawei.com>; Yeounsu\n> Moon <yyyynoom@gmail.com>; Thomas Gleixner <tglx@kernel.org>; Simon\n> Horman <horms@kernel.org>; Yicong Hui <yiconghui@gmail.com>; Mark\n> Einon <mark.einon@gmail.com>; Ethan Nelson-Moore\n> <enelsonmoore@gmail.com>; Saeed Mahameed <saeedm@nvidia.com>;\n> Sudarsana Kalluru <skalluru@marvell.com>; Heiner Kallweit\n> <hkallweit1@gmail.com>\n> Subject: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n> pci_device_ids using named initializers\n> \n> ... and PCI device helpers.\n> \n> The various struct pci_device_id arrays were initialized mostly by one\n> the PCI_DEVICE macros and then list expressions. The latter isn't\n> easily\n> readable if you're not into PCI. Using named initializers is more\n> explicit and thus easier to parse.\n> \n> Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> .subvendor and .subdevice where appropriate and skip explicit\n> assignments of 0 (which the compiler takes care of).\n> \n> The secret plan is to make struct pci_device_id::driver_data an\n> anonymous union (similar to\n> https://lore.kernel.org/all/cover.1776579304.git.u.kleine-\n> koenig@baylibre.com/)\n> and that requires named initializers. But it's also a nice cleanup on\n> its own.\n> \n> This change doesn't introduce changes to the compiled pci_device_id\n> arrays. Tested on x86 and arm64.\n> \n> Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-\n> koenig@baylibre.com>\n> ---\n> Hello,\n> \n> the mentioned follow-up quest allows to do\n> \n> \t\t\tPCI_DEVICE(0x1571, 0xa203),\n> \t+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n> \t-\t\t.driver_data_ptr = &card_info_10mbit,\n> \n> which gets rid of a bunch of casts and so brings a little bit more\n> type\n> safety. This patch is a preparation for that.\n> \n> I handled all of drivers/net/ in a single patch, please tell me if I\n> should split by subsystem.\n> \n> Best regards\n> Uwe\n> ---\n>  drivers/net/arcnet/com20020-pci.c             | 242 +++------\n>  drivers/net/can/m_can/m_can_pci.c             |   6 +-\n>  drivers/net/can/sja1000/plx_pci.c             | 167 +++----\n>  drivers/net/ethernet/3com/3c59x.c             |  80 +--\n>  drivers/net/ethernet/3com/typhoon.c           |  75 ++-\n>  drivers/net/ethernet/8390/ne2k-pci.c          |  24 +-\n>  drivers/net/ethernet/adaptec/starfire.c       |   4 +-\n>  drivers/net/ethernet/agere/et131x.c           |   6 +-\n>  drivers/net/ethernet/broadcom/bnx2.c          |  62 ++-\n>  .../net/ethernet/broadcom/bnx2x/bnx2x_main.c  |  50 +-\n>  .../net/ethernet/cavium/liquidio/lio_main.c   |  10 +-\n>  .../ethernet/cavium/liquidio/lio_vf_main.c    |   7 +-\n>  drivers/net/ethernet/chelsio/cxgb/common.h    |   2 +-\n>  drivers/net/ethernet/chelsio/cxgb/subr.c      |   2 +-\n>  .../net/ethernet/chelsio/cxgb3/cxgb3_main.c   |   4 +-\n>  .../net/ethernet/chelsio/cxgb4/cxgb4_main.c   |   4 +-\n>  .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c   |   4 +-\n>  drivers/net/ethernet/dec/tulip/de2104x.c      |   6 +-\n>  drivers/net/ethernet/dec/tulip/dmfe.c         |  12 +-\n>  drivers/net/ethernet/dec/tulip/tulip_core.c   |  78 +--\n>  drivers/net/ethernet/dec/tulip/uli526x.c      |   6 +-\n>  drivers/net/ethernet/dec/tulip/winbond-840.c  |  13 +-\n>  drivers/net/ethernet/dlink/dl2k.h             |  12 +-\n>  drivers/net/ethernet/dlink/sundance.c         |  14 +-\n>  drivers/net/ethernet/fealnx.c                 |   8 +-\n>  .../net/ethernet/hisilicon/hibmcge/hbg_main.c |   2 +-\n>  .../net/ethernet/hisilicon/hns3/hns3_enet.c   |  50 +-\n>  .../hisilicon/hns3/hns3pf/hclge_main.c        |  18 +-\n>  .../hisilicon/hns3/hns3vf/hclgevf_main.c      |  12 +-\n>  .../net/ethernet/huawei/hinic/hinic_main.c    |  12 +-\n>  .../net/ethernet/huawei/hinic3/hinic3_lld.c   |   7 +-\n>  drivers/net/ethernet/intel/e100.c             |   4 +-\n>  drivers/net/ethernet/intel/e1000e/netdev.c    | 471 +++++++++++++----\n> -\n>  drivers/net/ethernet/intel/fm10k/fm10k_pci.c  |  10 +-\n>  drivers/net/ethernet/intel/i40e/i40e_main.c   |  59 +--\n>  drivers/net/ethernet/intel/iavf/iavf_main.c   |  10 +-\n>  drivers/net/ethernet/intel/igb/igb_main.c     |  66 +--\n>  drivers/net/ethernet/intel/igbvf/netdev.c     |   4 +-\n>  drivers/net/ethernet/intel/igc/igc_main.c     |  34 +-\n>  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 106 ++--\n>  .../net/ethernet/intel/ixgbevf/ixgbevf_main.c |  49 +-\n>  drivers/net/ethernet/mellanox/mlx4/main.c     |   6 +-\n>  .../net/ethernet/mellanox/mlx5/core/main.c    |  26 +-\n>  .../net/ethernet/mellanox/mlxsw/spectrum.c    |  16 +-\n>  drivers/net/ethernet/micrel/ksz884x.c         |   8 +-\n>  .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c   |  10 +-\n>  drivers/net/ethernet/natsemi/natsemi.c        |   4 +-\n>  drivers/net/ethernet/netronome/nfp/nfp_main.c |  81 +--\n>  .../ethernet/netronome/nfp/nfp_netvf_main.c   |  41 +-\n>  drivers/net/ethernet/qlogic/qede/qede_main.c  |  20 +-\n>  drivers/net/ethernet/realtek/8139too.c        |  52 +-\n>  drivers/net/ethernet/realtek/r8169_main.c     |   8 +-\n>  drivers/net/ethernet/rocker/rocker_main.c     |   4 +-\n>  drivers/net/ethernet/sis/sis190.c             |   6 +-\n>  drivers/net/ethernet/sis/sis900.c             |  10 +-\n>  drivers/net/ethernet/smsc/epic100.c           |  18 +-\n>  drivers/net/ethernet/sun/cassini.c            |   8 +-\n>  drivers/net/ethernet/sun/sungem.c             |  26 +-\n>  drivers/net/ethernet/ti/tlan.c                |  41 +-\n>  drivers/net/ethernet/wangxun/ngbe/ngbe_main.c |  26 +-\n>  .../net/ethernet/wangxun/ngbevf/ngbevf_main.c |  26 +-\n>  .../net/ethernet/wangxun/txgbe/txgbe_main.c   |  18 +-\n>  .../ethernet/wangxun/txgbevf/txgbevf_main.c   |  18 +-\n>  drivers/net/wan/farsync.c                     |  24 +-\n>  drivers/net/wan/pc300too.c                    |  14 +-\n>  drivers/net/wan/pci200syn.c                   |   6 +-\n>  drivers/net/wan/wanxl.c                       |  11 +-\n>  .../broadcom/brcm80211/brcmfmac/pcie.c        |  17 +-\n>  drivers/net/wireless/intel/ipw2x00/ipw2200.c  |  52 +-\n>  69 files changed, 1308 insertions(+), 1101 deletions(-)\n> \n> diff --git a/drivers/net/arcnet/com20020-pci.c\n> b/drivers/net/arcnet/com20020-pci.c\n> index dbadda08dce2..6474c7be2992 100644\n> --- a/drivers/net/arcnet/com20020-pci.c\n> +++ b/drivers/net/arcnet/com20020-pci.c\n> @@ -459,168 +459,88 @@ static struct com20020_pci_card_info\n> card_info_eae_fb2 = {\n> \n>  static const struct pci_device_id com20020pci_id_table[] = {\n>  \t{\n\n...\n\n>  };\n> \n>  MODULE_DEVICE_TABLE(pci, card_ids);\n> \n> base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731\n> --\n> 2.47.3\n\n\nReviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=1tbH6CUK;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5Bbt2M4Lz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 19:20:26 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 7F4B68290B;\n\tWed, 29 Apr 2026 09:20:24 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id JjlUh9o8X6n0; Wed, 29 Apr 2026 09:20:23 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 4F0C882919;\n\tWed, 29 Apr 2026 09:20:23 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists1.osuosl.org (Postfix) with ESMTP id E43E323D\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 09:20:21 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id D623082919\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 09:20:21 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id P5RBWsQmqHpn for <intel-wired-lan@lists.osuosl.org>;\n Wed, 29 Apr 2026 09:20:20 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.15])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 8A1378290B\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 09:20:20 +0000 (UTC)","from fmviesa009.fm.intel.com ([10.60.135.149])\n by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 Apr 2026 02:20:19 -0700","from orsmsx903.amr.corp.intel.com ([10.22.229.25])\n by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 Apr 2026 02:19:59 -0700","from ORSMSX901.amr.corp.intel.com (10.22.229.23) by\n ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Wed, 29 Apr 2026 02:19:58 -0700","from ORSEDG903.ED.cps.intel.com (10.7.248.13) by\n ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Wed, 29 Apr 2026 02:19:58 -0700","from CY7PR03CU001.outbound.protection.outlook.com (40.93.198.40) by\n edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Wed, 29 Apr 2026 02:19:58 -0700","from IA3PR11MB8986.namprd11.prod.outlook.com (2603:10b6:208:577::21)\n by BL1PR11MB5303.namprd11.prod.outlook.com (2603:10b6:208:31b::22)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Wed, 29 Apr\n 2026 09:19:55 +0000","from IA3PR11MB8986.namprd11.prod.outlook.com\n ([fe80::e6f0:6afb:6ef9:ab5c]) by IA3PR11MB8986.namprd11.prod.outlook.com\n ([fe80::e6f0:6afb:6ef9:ab5c%5]) with mapi id 15.20.9870.013; Wed, 29 Apr 2026\n 09:19:55 +0000"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org 4F0C882919","OpenDKIM Filter v2.11.0 smtp1.osuosl.org 8A1378290B"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777454423;\n\tbh=wzfIv71eN7a6m7j1q7rPMBCfjKUCimXHoWZkX4EMv7I=;\n\th=From:To:CC:Date:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=1tbH6CUKupIcO/2x3BYfcadv16REMCyG7o+5KnwU4WZ9/XTCOEspfTWYiorGuguvL\n\t 2K9YrVWGk13+d9ClqqoVhr76L/Ky2Gu6/4Gg+Tp7a9SPcDf2nTfw2zF0Zt5kCiJp3O\n\t o9mMwePP+X6dSVMruPmrwXPbSe4D2bowFwULp9turxO9A79gsVXetoCWI2E5YuQvIO\n\t 9HY5G5quy44+Qfyq9Wv6ZJzZKiF7Z7ksrxhDb6CFsgHix4xi+torZFx70JShGd80ZN\n\t 6xpi+E0PBkrZJfFscJfR4kra0OV99HncbY1wYMp7GMlYA66KF+n9h7w+n76kSJP1Gj\n\t 0T0L4myVak2OA==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.15;\n helo=mgamail.intel.com; envelope-from=aleksandr.loktionov@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org 8A1378290B","X-CSE-ConnectionGUID":["QZnVC5oMRFepUmX9KmIvug==","fJO2qXc1TiC6H9J3/ZkLuA=="],"X-CSE-MsgGUID":["0gIBufXEQ0OIzvuOar5XGA==","q2sH5kANRa2vVSGLvrpA4w=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11770\"; a=\"78489814\"","E=Sophos;i=\"6.23,205,1770624000\"; d=\"scan'208\";a=\"78489814\"","E=Sophos;i=\"6.23,205,1770624000\"; d=\"scan'208\";a=\"227706890\""],"X-ExtLoop1":"1","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=INU2rCe+N8iiyhEXaxBev4qCLYb1mxRAgDIlhkYAeA5xdrZ1l1ZAPVxrq1kL5uB8IeYfjQTDRhVWXtrghUX5Bz+skZRNBQsLBBxc352l/tcTC6+V4hrN0LoiAix4ILGlu+zLiu2KPXqcVqjNktbLJuxbPIBvrMOGKoXTMMDFmUWdwKpIiZ0p8KLf7O1ZeUORXh04K6axpj7dHo7FKsliSA4wXKkt9C8En2Inp5NKTq6Uk9fTb9B1WpYCGju3Lu3lroMC3KQT5QpDYU9AyjUW0tnLqrcsgpI409H0+fsSdsxHSeuVrwY9wtDYQZrigVH8xs0q+xhN323kCKYL2Y1ojw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=wzfIv71eN7a6m7j1q7rPMBCfjKUCimXHoWZkX4EMv7I=;\n b=iQdBoHYheDv5T2XME4HouYRGUGgNyjbeSe5QCttyiyzl36ds/mX/7joLdM17IjdBAbp5uTK0QqZv4Sn8ghEPrPLkh1sWWMuaMRHT6YMJI9N54yC4eZ3H2RB3jTjk/fpExyIfxl1c3vc5mE9+a6jCCeKLS6jQx1LBd5KQgxVCmZZ6UlGJ+2J8Idq93Yx/1dHnpD+wzk/JMl0e9SLipcfS3E4gidRlInFwmctdvsW89FlbvHGn4niTie1BSL8mtIDX/OORJ1UjeZ+Zthg8jxsMW5cuMnl+jCXT6aZemIbegxVWAXiIN2QkUy9ZckMe3nXgwQec/OQJ8I7to4XcmbThGw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none","From":"\"Loktionov, Aleksandr\" <aleksandr.loktionov@intel.com>","To":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Andrew Lunn <andrew+netdev@lunn.ch>, \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, \"Jakub Kicinski\" <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, \"Marc Kleine-Budde\" <mkl@pengutronix.de>,\n Vincent Mailhol <mailhol@kernel.org>, Krzysztof Halasa <khc@pm.waw.pl>,\n Johannes Berg <johannes@sipsolutions.net>","CC":"Richard Cochran <richardcochran@gmail.com>, Yonglong Liu\n <liuyonglong@huawei.com>, Kees Cook <kees@kernel.org>,\n \"linux-wireless@vger.kernel.org\" <linux-wireless@vger.kernel.org>, \"Zaremba,\n Larysa\" <larysa.zaremba@intel.com>, \"brcm80211@lists.linux.dev\"\n <brcm80211@lists.linux.dev>, Daniele Venzano <venza@brownhat.org>,\n \"oss-drivers@corigine.com\" <oss-drivers@corigine.com>, \"Nguyen, Anthony L\"\n <anthony.l.nguyen@intel.com>, MD Danish Anwar <danishanwar@ti.com>, \"Samuel\n Chessman\" <chessman@tux.org>, Fan Gong <gongfan1@huawei.com>, \"Marco\n Crivellari\" <marco.crivellari@suse.com>, Kevin Curtis\n <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>, Ion Badulescu\n <ionut@badula.org>, \"Shevchenko, Andriy\" <andriy.shevchenko@intel.com>, \"Leon\n Romanovsky\" <leon@kernel.org>, Colin Ian King <colin.i.king@gmail.com>,\n \"Kitszel, Przemyslaw\" <przemyslaw.kitszel@intel.com>, Peiyang Wang\n <wangpeiyang1@huawei.com>, Thomas Fourier <fourier.thomas@gmail.com>, \"Sai\n Krishna\" <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n \"intel-wired-lan@lists.osuosl.org\" <intel-wired-lan@lists.osuosl.org>,\n \"linux-parisc@vger.kernel.org\" <linux-parisc@vger.kernel.org>, \"Keller, Jacob\n E\" <jacob.e.keller@intel.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Steffen Klassert <klassert@kernel.org>, Stanislav Yakovlev\n <stas.yakovlev@gmail.com>, \"linux-rdma@vger.kernel.org\"\n <linux-rdma@vger.kernel.org>, Arend van Spriel\n <arend.vanspriel@broadcom.com>, \"nic_swsd@realtek.com\"\n <nic_swsd@realtek.com>, Jiri Pirko <jiri@resnulli.us>, Philipp Stanner\n <phasta@kernel.org>, Chi-hsien Lin <chi-hsien.lin@cypress.com>, Ido Schimmel\n <idosch@nvidia.com>, Potnuri Bharat Teja <bharat@chelsio.com>, Double Lo\n <double.lo@cypress.com>, Markus Schneider-Pargmann <msp@baylibre.com>, Nathan\n Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>, Cai\n Huoqing <cai.huoqing@linux.dev>, Bjorn Helgaas <bhelgaas@google.com>, Zilin\n Guan <zilin@seu.edu.cn>, \"linux-can@vger.kernel.org\"\n <linux-can@vger.kernel.org>, Yibo Dong <dong100@mucse.com>, Joe Damato\n <joe@dama.to>, Petr Machata <petrm@nvidia.com>, Kory Maincent\n <kory.maincent@bootlin.com>, \"brcm80211-dev-list.pdl@broadcom.com\"\n <brcm80211-dev-list.pdl@broadcom.com>, \"GR-Linux-NIC-Dev@marvell.com\"\n <GR-Linux-NIC-Dev@marvell.com>, Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Manish Chopra <manishc@marvell.com>, Denis Benato <benato.denis96@gmail.com>,\n Rasesh Mody <rmody@marvell.com>, \"netdev@vger.kernel.org\"\n <netdev@vger.kernel.org>, Randy Dunlap <rdunlap@infradead.org>, Mark Bloch\n <mbloch@nvidia.com>, \"linux-kernel@vger.kernel.org\"\n <linux-kernel@vger.kernel.org>, Tariq Toukan <tariqt@nvidia.com>, Jian Shen\n <shenjian15@huawei.com>, Jijie Shao <shaojijie@huawei.com>, Yeounsu Moon\n <yyyynoom@gmail.com>, Thomas Gleixner <tglx@kernel.org>, Simon Horman\n <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>, Mark Einon\n <mark.einon@gmail.com>, Ethan Nelson-Moore <enelsonmoore@gmail.com>, \"Saeed\n Mahameed\" <saeedm@nvidia.com>, Sudarsana Kalluru <skalluru@marvell.com>,\n Heiner Kallweit <hkallweit1@gmail.com>","Thread-Topic":"[Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","Thread-Index":"AQHc1zMQAKJ/Vudce0mULqlYLnCnGbX1xA9g","Date":"Wed, 29 Apr 2026 09:19:55 +0000","Message-ID":"\n <IA3PR11MB89861D0A2ADD6A857708B0C9E5342@IA3PR11MB8986.namprd11.prod.outlook.com>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"IA3PR11MB8986:EE_|BL1PR11MB5303:EE_","x-ms-office365-filtering-correlation-id":"b534d277-fb4f-4519-4491-08dea5d07a3a","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|366016|7416014|376014|1800799024|18002099003|22082099003|56012099003|38070700021|921020;","x-microsoft-antispam-message-info":"\n dcVuEUzjOqDQZ4WnfWr+4TTLkgtPC5WXbIv45bkfZC21sTzVUq/sf793/0/d4LDcPSE8BrfDKFfn7AU3yiDLRqt6mcIcDBPC0IlUTWCBoup/O6ski+EsvEoCMfAqrD4+4lM3Xq1ayM4v70PYvhDtf1DjhALWf9fBttKVHr40x4nhNV8nkcWv+5O2QcC4EyZ7slHGMaSMgrXG5D4OrpjZcP5ouSgcwe3KmqZYUdwkbCScR1mjcwnkx+TGWYP+XS+kN80/o7jQ9v3e/V0SBAd154ZZnNzQEzGsPuClM4sPobu8H2kPthWVY93kKqinbIsej9kf1dz8k58OxgcfgFe06eHA6cmWFwk5wugO/4ArIKHyL1U32dMH1olGwVDKK6MJ51nJPyZbwetumqw0XgNHbU8qnH/wgPrDqixSEe7tMLoSLGIM5sZVyi3UiaMytgxKQITnCoYgvvEsdXvqFUqb+78/ExsFnHbG9G7LrPfL71lOg79fGocq7A8QsN/e8jYakdIxFxcvk5gmAyv3RWo7/BgWRemXx0vJBVqE0GjveAJL62v6Jdty94ncGQOvInJFXKXoVIifSFIi7xuWpIMZnw+DKXuP4eCXOauka5ODnKe3UqfCvzgLqznrh9bL1j84D6tA319iTJ0SsN66N1qMq4hrK1jgnuamVE27mFEEpLRFMss14GJ+eC6g0Smm+tWL6G5QEDvgKhnVROVBf1vM5VqN3NvYqGBDA2h40QQEdyHR3aXxsxv854LDpwtnXOIXpDpUpWClKNN1vMbHz2zP9rgjGhJt7ChKiogHV0xZ05U2dSV0mZGSQFU7dS51qeil","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:IA3PR11MB8986.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(7416014)(376014)(1800799024)(18002099003)(22082099003)(56012099003)(38070700021)(921020);\n DIR:OUT; SFP:1101;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?OR5D7EVw0DwC3WITYD6R+e38rWlS?=\n\t=?utf-8?q?EWbFVgPLdGZtrJBWhJXgwNK1ESCs7SacSSO74uv6Jcp9AtqDIWb7CKvYkU3QrjBNY?=\n\t=?utf-8?q?mxbYy/rAY3xTCLrWvtlABaI4IfLWRqVV8HUe/Ibjlm/d47Dg92dfaomgvAadk7WZo?=\n\t=?utf-8?q?Rpr9ugfAVotGl6Pg1VWSYa7TmNEomjawlI66pQx+IwjIMW+vOv78oDe5vccudcOW8?=\n\t=?utf-8?q?uxH7Ou/GdIvmFW6Rzge+l/PTJ2q5U/1MCCG/BQy+SuZ9QlYa32FTlYtGnGCip3iwG?=\n\t=?utf-8?q?c7Kdpp7C+y90FhfDIWxVvz4VgtUzaT97kPX1eI7PnBLpM48mIxXRKZHGMhcFaEs3+?=\n\t=?utf-8?q?KoZUz15vZjprv7iuk+UgGXhL9nZks85XesJ6lepJ9thnKT6VfH+U8pVnzX9sjkJD1?=\n\t=?utf-8?q?QvmiZ4xMMEFr4i4/rPsjrUe20Ak5lQwY/4J6cO/NGwuEuarjAr4Ac3sSEaTlkeQEy?=\n\t=?utf-8?q?rBUYc/XabAchOt038inj/b9zmB57brQmyvrnnTpUDsTFHV288d1NKSq3bO9tCEF5p?=\n\t=?utf-8?q?YPa8vSORxORJSzfr+rrSWjEeEWNCWE7Qz37QdaTabhQaxalxHcnBWO7zNKUVPiUql?=\n\t=?utf-8?q?NZatGZlq/FjFeQNPNXkvgl5RcUpehyjsDR2a5dsBo1CZzaYxVuAhhBXpoOOJKpXlN?=\n\t=?utf-8?q?M7mC8hjLvX1j0jjbQjmAlXD/xX0vBHcxwdC+ftWRelbujNIlA+q2tksEDn6jAvGHn?=\n\t=?utf-8?q?aX1pqCt+Nc4Z2aDvFtfA2mcA4ARXIj5YnZZfxXLPdGkj/xAUPh6cSQhNrTHG8baBn?=\n\t=?utf-8?q?te/O+SuE7VgLX2QUpojum58V4dqkdMaceRl2xk7AZyL6nKPlHqN0Gcq1qBEtcIo8G?=\n\t=?utf-8?q?DeuNJq77/Q58Yc8q5h7hDBXFkXbaFRmSvKO3bLVtCVpbEdJMsVTP1BXjeBEVuzl6c?=\n\t=?utf-8?q?PTnR1HvP8r2AsdvBCbU0YV4+7TiOMFm0MprAMdZOd0gFlwKi/RFXnoCfzo64UiCWr?=\n\t=?utf-8?q?QEQ9//TWzIgyDJVXyeakWNdi6FYfx1utuLJZjQQX2z5j40xT2sDN6NyrugSV0eRnW?=\n\t=?utf-8?q?dCDLNLvK50rDBGgFGidtdQYwFsb8WXX4ETf3mYoNenr7F2sU5McMzony9xXIyzrip?=\n\t=?utf-8?q?vceSGRCs90koIZftkWtnLQPr4XqcKn3CzTneTj+OT0BzW5E3SsIWDwa16647Msbuq?=\n\t=?utf-8?q?35muBSCpC0tfbjQMtJpVb8Pl+eudXXi4erOr355qT61A31DpFJnd3hzR3TuVjzTES?=\n\t=?utf-8?q?SBJXscvUtwsiOZWsTJ0sAlzTrtm75hJvtC80VU2WrLiHPk1mE6sErvUVZDDHRY/Si?=\n\t=?utf-8?q?nGWv5Vil3g6z1Oy+L5lf7bmnz81dhYXXAvWvNpm5CaN0P/hhzn+g6SQQs5XWm9g/S?=\n\t=?utf-8?q?civ4UjbaFHfQ7YnKTh5xEVjSWo0pxba9tQQDaG59acpvH0O9B9Wt/X6FKY9F4oP+Z?=\n\t=?utf-8?q?mJF2rehCCfDb7zRJCXEjDhgo942bm6xdPiqiBpT8w6ydsWq2lxB4d3gYepsYP0DvQ?=\n\t=?utf-8?q?mc+Y0ZXSqvKIpRoLXSI8hX4ilzJBGGChu5iSzBwIqjXOmjqOX+UmDQC2U7lDtyZVB?=\n\t=?utf-8?q?8sfIU2RFGDWOA2YA9e4ik0EQ8b0S/rAFlDHGWiPjqc80Rxciq5c28QZ1llCeC8F5c?=\n\t=?utf-8?q?WZARIzgKTmz3s8mNsCreffrugQ0B/250zSmfXqRec0aM0rafyYc9U/rpDCiCp33bR?=\n\t=?utf-8?q?iglKTz7oCNtaMrzy2EZwTc14GY1NcRazsrbMqesWJZPDcwL27+wOo=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n P7pQoNAe+Fb+wA5snOWErXT680QtKNM4RMNSLlHR0SIbUcGtiJ5M8qhWrGmgl3YU+jxdIAgBekGAOJ1PXDo5M6dl6JLHOr775J6hSAKZhcUG1UyiKMat6H3bK3hFktFjYLk3RKYBy/TLlkVSwXIDzXrs72Dzq5iEbjHyc5MG6M9ayCHp9m3T51HJTSVvtAFreyIp81LTOPHTkMB7RILglt6Z2D4YWyXi8jC/5VDg58/BUFlaTXOUaJAv807m7UPN9Ot5wbdJSMO7Lc9m7md6d3I07P5/SEOk0dJ9zDLLCJF+RFTaU8fWnCXKm9su3pr6EvR37UzW/CJmne0qcp1YVA==","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"IA3PR11MB8986.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n b534d277-fb4f-4519-4491-08dea5d07a3a","X-MS-Exchange-CrossTenant-originalarrivaltime":"29 Apr 2026 09:19:55.5056 (UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"\n Pr+0C6O7tNlSV/LZfe9oMCgwB7D3a58R0R3TkMmTiQM2FQdV1pPnFTQWyDq78I0aBEzQodzxfwHgFenIn10P6ZtwkwFUdZhU0qXBlKgtwc0=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"BL1PR11MB5303","X-OriginatorOrg":"intel.com","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1777454420; x=1808990420;\n h=from:to:cc:subject:date:message-id:references:\n in-reply-to:content-transfer-encoding:mime-version;\n bh=wzfIv71eN7a6m7j1q7rPMBCfjKUCimXHoWZkX4EMv7I=;\n b=F1vYWYbDwHAn5R7NBKxh4XSkxcvy/l3N8Qd9fNe4PVI4FG1irOoCqkVt\n 83vRa18AgPrPi3N13TiUXIePoTp44ediERGP88cZ2KcS4d2JCz1kGjMfy\n 2meT2f45ktOumGvbtoOeZi5vxjSBx814ywFzo2kIhxOCG8pF7ChGSu3sk\n gwW/L5yE1foscvTRlwHOsyr/5TK6squllRDnkTlrJcn35xKVs/CLWmzPe\n GfNNS6XH1BnbLleQ1ID5GFD0T6o3YPxAImQugUtcMFvNb35PfIxQx4q8c\n SBrtd9rXHvnnVU3LqDZ7CCJoOk/Te0brdolcgd+UeMzgOZmtZn0C9tZbM\n g==;","X-Mailman-Original-Authentication-Results":["smtp1.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp1.osuosl.org;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.a=rsa-sha256 header.s=Intel header.b=F1vYWYbD","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684787,"web_url":"http://patchwork.ozlabs.org/comment/3684787/","msgid":"<f817f781-43d5-40d0-9352-20769d9a6601@broadcom.com>","list_archive_url":null,"date":"2026-04-30T15:14:36","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":68761,"url":"http://patchwork.ozlabs.org/api/people/68761/","name":"Arend van Spriel","email":"arend.vanspriel@broadcom.com"},"content":"On 28/04/2026 19:18, Uwe Kleine-König (The Capable Hub) wrote:\n> ... and PCI device helpers.\n> \n> The various struct pci_device_id arrays were initialized mostly by one\n> the PCI_DEVICE macros and then list expressions. The latter isn't easily\n> readable if you're not into PCI. Using named initializers is more\n> explicit and thus easier to parse.\n> \n> Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> .subvendor and .subdevice where appropriate and skip explicit\n> assignments of 0 (which the compiler takes care of).\n> \n> The secret plan is to make struct pci_device_id::driver_data an\n> anonymous union (similar to\n> https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\n> and that requires named initializers. But it's also a nice cleanup on\n> its own.\n> \n> This change doesn't introduce changes to the compiled pci_device_id\n> arrays. Tested on x86 and arm64.\n\nfor brcmfmac change...\n\nAcked-by: Arend van Spriel <arend.vanspriel@broadcom.com>\n\n> Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>\n> ---\n[...]\n\n>   .../broadcom/brcm80211/brcmfmac/pcie.c        |  17 +-\n>   drivers/net/wireless/intel/ipw2x00/ipw2200.c  |  52 +-\n>   69 files changed, 1308 insertions(+), 1101 deletions(-)","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=mBD9nvc4;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5yZd2B8kz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 01:22:00 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 5517F42998;\n\tThu, 30 Apr 2026 15:21:59 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id ruTY1Iz32i4x; Thu, 30 Apr 2026 15:21:57 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 781D54297E;\n\tThu, 30 Apr 2026 15:21:57 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n by lists1.osuosl.org (Postfix) with ESMTP id 5FEEF18F\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 15:21:55 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 5197042489\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 15:21:55 +0000 (UTC)","from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id MVBf7SuzI0lv for <intel-wired-lan@lists.osuosl.org>;\n Thu, 30 Apr 2026 15:21:54 +0000 (UTC)","from mail-yw1-x1161.google.com (mail-yw1-x1161.google.com\n [IPv6:2607:f8b0:4864:20::1161])\n by smtp2.osuosl.org (Postfix) with ESMTPS id 1DDA3424A4\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 15:21:53 +0000 (UTC)","by mail-yw1-x1161.google.com with SMTP id\n 00721157ae682-7bd5c582c47so4655797b3.2\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 08:21:53 -0700 (PDT)","from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com\n (address-144-49-247-16.dlp.protect.broadcom.com. [144.49.247.16])\n by smtp-relay.gmail.com with ESMTPS id\n 00721157ae682-7bd54b151e9sm1270827b3.7.2026.04.30.08.21.51\n for <intel-wired-lan@lists.osuosl.org>\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Thu, 30 Apr 2026 08:21:52 -0700 (PDT)","by mail-oi1-f198.google.com with SMTP id\n 5614622812f47-479d74f0d95so1435088b6e.0\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 08:21:51 -0700 (PDT)","from [192.168.178.26] (f215227.upc-f.chello.nl. [80.56.215.227])\n by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2ee38e71ccesm286774eec.10.2026.04.30.08.14.39\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 30 Apr 2026 08:14:52 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 781D54297E","OpenDKIM Filter v2.11.0 smtp2.osuosl.org 1DDA3424A4"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777562517;\n\tbh=j6W7N3TF0u0m9VhuQZcYonFJHVZpaP1eZOWODDM2/uM=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\t List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\t From;\n\tb=mBD9nvc4DzXi8O0Ri8Fp7S889AcNwlsAtxRqi/5fpPt684apuVITXedGUEsbqnd0r\n\t VKbwAEjTg/25jk5h/e+/+PwerZ2z1Y8VaLKd9ozgmVWqUlI1u8haeutM8O1rRf03nW\n\t RCdlJIjk2lXuI7ghw5qxC8aE2Vg8LsuT41RWGVrsY4q1/HceX3c+tbrHg8AMaDDjLg\n\t P+QJO4I66Fnfpz6SyB2htIvG31yrL8BHz89byNEu3LRiyb4E13kIXlWEWaIDiTTpm5\n\t J8bX056mUndtLEJDaPLkKgD4pNP3f4AAN1prA38tbAML7LPC9lwrwvDq/MVZC8vWx6\n\t JtfOGVzumEFsw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2607:f8b0:4864:20::1161; helo=mail-yw1-x1161.google.com;\n envelope-from=arend.vanspriel@broadcom.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp2.osuosl.org 1DDA3424A4","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777562512; x=1778167312;\n h=content-transfer-encoding:in-reply-to:from:content-language\n :references:cc:to:subject:user-agent:mime-version:date:message-id\n :dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=j6W7N3TF0u0m9VhuQZcYonFJHVZpaP1eZOWODDM2/uM=;\n b=oNRa3rJAubZMzfxxkZ3cwxVkSEDzZgQ7x0AZo0X1onGoRxYiwXrepY7XTURDh6E/tu\n dDbltTMgiN5DgxlXBG+26YzhOOq2YST950qTwYOO8BDUFsrRtg/7N09OR3QM7+Gspt5B\n u2HSfLGJ3WxZ+w5Sg/kai2KjJ4qXUAm4a78q/OxLS0OY2at5ovxenEHKQm5KWi9E2YBl\n gW8W6ZrR0IdA/rSdi6ZQQhrMZXG682iM2OpBfgHaNFdZ78cNYlyaHJhO2hUNWWsK+cEL\n dVrk6gaAILcmnVxvFS2Mpm67YKJGmOT+ZVc/XSrr9OAL+u3+mJSNH75a0lBA76YWCfaN\n aMdg==","X-Forwarded-Encrypted":["i=1;\n AFNElJ9sxjmKItf/YAzUiEm6iuwvNtqfCiiaClNCH8K6dXhnAEpQvkeTjs5ExI0LkA+QxLrLeaEWbxzt5OQFvqyr0Y4=@lists.osuosl.org","i=1;\n AFNElJ/8ICv4P6tCVHPYh1+u+eEU4i4Dc990V6stp+U/MXrVWodzDsB1Z6IQKeqP1gsGwCnoVP+Xe1aIuTu7fAPXSyg=@lists.osuosl.org"],"X-Gm-Message-State":"AOJu0Yw4MYOiaHtKF4JkOhCdOM43TdJkjF7KUcilnW/LHbXqHop14ZtP\n wi76+ZCqPyckoertwUul+fe77k6o+xwzc5EGywa1sQ6CBbgSKrm5WOLoAPW8WTPeC0GZ4HSPzAK\n tpcdFy6eedCHDjESoKue8Hb4e8bLAVshSUJZ71WENqXBjg18TPdKvyhK8Ua7YgnIrz+04TSh/YP\n ouBIgUcMSHge7aF4JtQqii+UmlDrtJGmN2kACB54e1ZkeZ4bRM9mLFvAKSZfG9NJ8kpACv9x1OX\n 1XWGDPdXPs4YcDH6lKtmYEEC2/KDSw=","X-Gm-Gg":"AeBDieuKpbh1VzKKmOItr2qPPOETjN2sZAZVVWdBpbxOxXnaS/z2p6EWG1kwCiDshyd\n wyuSCx6DnkKJVtLxTIOPaSCmToM+YyiEbtpg5rw4PAAFG5EZdCxq0GmAcRUdfq1hQqgimr/pHfI\n wmAG1WecdOXaQmAXuJXvPnU7r7jN6Psh1F0RJOdc4725glmaECeTEWj8p/OAKAsRRvgSmgo09ga\n xy4j48Uj6u3DyqC/gWudzWf65GUEb1HQ/Mg5r5MwO7NlkqtNi8pcNIInfUpBjEOKWJFvBs2qrHJ\n 9jP/5kE9TxTOuX3c3we8nI3R/4T6NuPBpXD3F5CLOPsdReUA5zju4Om74duL59ZAjAnxQYpqj6v\n tmL4C1IUi1gSWZSXSiNqjKMO3a4TmdX9HrODY6bX4LOzDjdDC+EJItADeOABY2peu65D6cyqZ+y\n SdP53ak80adhfGV7PcpfDryo5xYashNSo8ZEuH40sIjffpJg4HzJizggj2+xRoCwG0aLop+Hw=","X-Received":["by 2002:a05:690c:c190:b0:7b1:b27d:2d4b with SMTP id\n 00721157ae682-7bd5284ab47mr32691577b3.12.1777562512101;\n Thu, 30 Apr 2026 08:21:52 -0700 (PDT)","by 2002:a05:7300:fd03:b0:2d9:7bc4:9578 with SMTP id\n 5a478bee46e88-2ed3e386a41mr1602838eec.28.1777562094284;\n Thu, 30 Apr 2026 08:14:54 -0700 (PDT)","by 2002:a05:7300:fd03:b0:2d9:7bc4:9578 with SMTP id\n 5a478bee46e88-2ed3e386a41mr1602745eec.28.1777562093564;\n Thu, 30 Apr 2026 08:14:53 -0700 (PDT)"],"X-Relaying-Domain":"broadcom.com","X-CFilter-Loop":"Reflected","Message-ID":"<f817f781-43d5-40d0-9352-20769d9a6601@broadcom.com>","Date":"Thu, 30 Apr 2026 17:14:36 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Andrew Lunn <andrew+netdev@lunn.ch>, \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Marc Kleine-Budde <mkl@pengutronix.de>,\n Vincent Mailhol <mailhol@kernel.org>, Krzysztof Halasa <khc@pm.waw.pl>,\n Johannes Berg <johannes@sipsolutions.net>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","Content-Language":"en-US","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-DetectorID-Processed":"b00c1d49-9d2e-4205-b15f-d015386d3d5e","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=broadcom.com; s=google; t=1777562511; x=1778167311; darn=lists.osuosl.org;\n h=content-transfer-encoding:in-reply-to:from:content-language\n :references:cc:to:subject:user-agent:mime-version:date:message-id\n :from:to:cc:subject:date:message-id:reply-to;\n bh=j6W7N3TF0u0m9VhuQZcYonFJHVZpaP1eZOWODDM2/uM=;\n b=S6GtEXQ1uol03mj3jir1hjiaopC8tSJeuyo/RWI2l90EaEMMedtJg1VnHeEjpqrJcG\n 7umDVGdsm6KJn8dFX2QjR/ESCWZE0g2hPF+AYNXADydf9p2MdBaFnxeY4r9GACbXNGpQ\n rT1EeWNJce1/YhIobhO4OGGIU/Kd3hEVqVOhs=","X-Mailman-Original-Authentication-Results":["smtp2.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=broadcom.com","smtp2.osuosl.org;\n dkim=pass (1024-bit key,\n unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256\n header.s=google header.b=S6GtEXQ1"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","From":"Arend van Spriel via Intel-wired-lan <intel-wired-lan@osuosl.org>","Reply-To":"Arend van Spriel <arend.vanspriel@broadcom.com>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Yonglong Liu <liuyonglong@huawei.com>, Kees Cook <kees@kernel.org>,\n linux-wireless@vger.kernel.org, Larysa Zaremba <larysa.zaremba@intel.com>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n oss-drivers@corigine.com, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Marco Crivellari <marco.crivellari@suse.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Andy Shevchenko <andriy.shevchenko@intel.com>,\n Leon Romanovsky <leon@kernel.org>, Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Peiyang Wang <wangpeiyang1@huawei.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>,\n Mengyuan Lou <mengyuanlou@net-swift.com>,\n Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Chi-hsien Lin <chi-hsien.lin@cypress.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Philipp Stanner <phasta@kernel.org>,\n Ido Schimmel <idosch@nvidia.com>, Potnuri Bharat Teja <bharat@chelsio.com>,\n Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Cai Huoqing <cai.huoqing@linux.dev>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Joe Damato <joe@dama.to>,\n Petr Machata <petrm@nvidia.com>, Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com, GR-Linux-NIC-Dev@marvell.com,\n Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Manish Chopra <manishc@marvell.com>, Denis Benato <benato.denis96@gmail.com>,\n Rasesh Mody <rmody@marvell.com>, netdev@vger.kernel.org,\n Randy Dunlap <rdunlap@infradead.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n Jian Shen <shenjian15@huawei.com>, Jijie Shao <shaojijie@huawei.com>,\n Yeounsu Moon <yyyynoom@gmail.com>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n Mark Einon <mark.einon@gmail.com>,\n Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Saeed Mahameed <saeedm@nvidia.com>, Sudarsana Kalluru <skalluru@marvell.com>,\n Heiner Kallweit <hkallweit1@gmail.com>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684844,"web_url":"http://patchwork.ozlabs.org/comment/3684844/","msgid":"<afGrPvUeZ-DjWbC8@ashevche-desk.local>","list_archive_url":null,"date":"2026-04-29T06:54:54","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":46495,"url":"http://patchwork.ozlabs.org/api/people/46495/","name":"Andy Shevchenko","email":"andriy.shevchenko@intel.com"},"content":"On Tue, Apr 28, 2026 at 07:18:44PM +0200, Uwe Kleine-König (The Capable Hub) wrote:\n> ... and PCI device helpers.\n> \n> The various struct pci_device_id arrays were initialized mostly by one\n> the PCI_DEVICE macros and then list expressions. The latter isn't easily\n> readable if you're not into PCI. Using named initializers is more\n> explicit and thus easier to parse.\n> \n> Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> .subvendor and .subdevice where appropriate and skip explicit\n> assignments of 0 (which the compiler takes care of).\n> \n> The secret plan is to make struct pci_device_id::driver_data an\n> anonymous union (similar to\n> https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\n> and that requires named initializers. But it's also a nice cleanup on\n> its own.\n> \n> This change doesn't introduce changes to the compiled pci_device_id\n> arrays. Tested on x86 and arm64.\n\n...\n\n> -\t{0,}\t\t\t\t\t\t/* 0 terminated list. */\n> +\t{ }\t\t\t\t\t\t/* 0 terminated list. */\n\nThe comments like these are just noises. The rule of thumb is to play with a\ntrailing comma:\n- always drop it in the terminator entry\n- always keep it in the normal initialisers when semantically it's not a\nterminator\n\n...\n\n>  static const struct pci_device_id liquidio_pci_tbl[] = {\n>  \t{       /* 68xx */\n> -\t\tPCI_VENDOR_ID_CAVIUM, 0x91, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n> +\t\tPCI_VDEVICE(CAVIUM, 0x91)\n\nUse full fixed-width device id value(s). 0x0091 here and so on...\n\n>  \t},\n\nAlso seems that you may decrease number of LoC here putting it as\n\n\t{ PCI_VDEVICE(CAVIUM, 0x0091) }, /* 68xx */\n\nand so on...\n\n>  \t{       /* 66xx */\n> -\t\tPCI_VENDOR_ID_CAVIUM, 0x92, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n> +\t\tPCI_VDEVICE(CAVIUM, 0x92)\n>  \t},\n>  \t{       /* 23xx pf */\n> -\t\tPCI_VENDOR_ID_CAVIUM, 0x9702, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n> +\t\tPCI_VDEVICE(CAVIUM, 0x9702)\n>  \t},\n> -\t{\n> -\t\t0, 0, 0, 0, 0, 0, 0\n> -\t}\n> +\t{ }\n>  };\n\n...\n\n>  #define CH_PCI_DEVICE_ID_TABLE_DEFINE_END \\\n> -\t\t{ 0, } \\\n> +\t\t{ } \\\n>  \t}\n\nWhy do we have this macro at all?\n\n\n> -#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END { 0, } }\n> +#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END { } }\n\nDitto.\n\n...\n\n>  static const struct pci_device_id de_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },\n> +\t{ PCI_VDEVICE(DEC, PCI_DEVICE_ID_DEC_TULIP), .driver_data = 0 },\n> +\t{ PCI_VDEVICE(DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS), .driver_data = 1 },\n>  \t{ },\n\nDrop comma. I.o.w. please make sure you also unify the style of the ID tables,\nincluding terminator entries.\n\n>  };\n\n...\n\n>  static const struct pci_device_id sis190_pci_tbl[] = {\n> -\t{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 },\n> -\t{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 },\n> -\t{ 0, },\n> +\t{ PCI_VDEVICE(SI, 0x0190), .driver_data = 0 },\n> +\t{ PCI_VDEVICE(SI, 0x0191), .driver_data = 1 },\n> +\t{ },\n\nDitto and so on...\n\n>  };\n\n...\n\nAlso I somehow managed to remove, but I remember you had an inner comma in some\ncases after the .driver_data, when the full ID entry is located on a single\nline. I.o.w. do\n\n\t{ PCI_...(), .driver_data = ... // no trailing comma here! },\n\nWhen it's a single line trailing comma inside helps nothing and just makes\nlines longer and harder to read.","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=igrCgHTh;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cC3M3mz1yK1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:30 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 2017F84EB1;\n\tThu, 30 Apr 2026 16:53:28 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id MXZa8U9rfKTH; Thu, 30 Apr 2026 16:53:26 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 51F3E84EAD;\n\tThu, 30 Apr 2026 16:53:26 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists1.osuosl.org (Postfix) with ESMTP id BDCF61B8\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 06:55:15 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id AF9B0409C9\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 06:55:15 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id nn3gCs4PyXng for <intel-wired-lan@lists.osuosl.org>;\n Wed, 29 Apr 2026 06:55:14 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [198.175.65.13])\n by smtp4.osuosl.org (Postfix) with ESMTPS id A5EAA409AF\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 06:55:14 +0000 (UTC)","from fmviesa004.fm.intel.com ([10.60.135.144])\n by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Apr 2026 23:55:14 -0700","from ettammin-mobl2.ger.corp.intel.com (HELO localhost)\n ([10.245.245.141])\n by fmviesa004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Apr 2026 23:54:56 -0700"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org 51F3E84EAD","OpenDKIM Filter v2.11.0 smtp4.osuosl.org A5EAA409AF"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568006;\n\tbh=fyAlsVdunjru5rWSr/Juwi2+ZRlXG6w2sK3jkr2KfmQ=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=igrCgHThaGNAyq1LykhmyzMQKNgirm8bl3Hb4ccA8rXQpyghRC0H+eGkMXVuiGng6\n\t AVKi2QVGlNl1FobpjYTC2JZWtNKExyta128yx9xAav4Oy8HCselUAgLMFdFEwqqVEV\n\t ZoRlgNJAdEI0Z047sHFRvIdNuxjiCKM+wZ/XkWEMAeYv1goCHsn3KLjfRWkRyZ9op/\n\t fAnK3HXS9lOtT+iUyWHL02X26xh6ciTTO4ys6TQKyFktY/lzVqGM6AywV5WY0Nzsya\n\t TCAy3FnXEfualFKye8kGbj8kIMm6LNxlZCe+2WYfyS3FwmtdwkIhyQJcg4wSfkZ2ec\n\t YvSbHF9jEEYyw==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=198.175.65.13;\n helo=mgamail.intel.com; envelope-from=andriy.shevchenko@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org A5EAA409AF","X-CSE-ConnectionGUID":["b3GIDGP6S2e1M5KTyHp7hg==","NWCIGupGRW+k5c69AnHXJQ=="],"X-CSE-MsgGUID":["oYgXW7FgR6Cp0vZPYs14HA==","5oHPhrg7Q1iV2x0zLMtPhQ=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11770\"; a=\"89456628\"","E=Sophos;i=\"6.23,205,1770624000\"; d=\"scan'208\";a=\"89456628\"","E=Sophos;i=\"6.23,205,1770624000\"; d=\"scan'208\";a=\"235958719\""],"X-ExtLoop1":"1","Date":"Wed, 29 Apr 2026 09:54:54 +0300","From":"Andy Shevchenko <andriy.shevchenko@intel.com>","To":"Uwe =?iso-8859-1?q?Kleine-K=F6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","Message-ID":"<afGrPvUeZ-DjWbC8@ashevche-desk.local>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","Organization":"Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6\n krs, Bertel Jungin Aukio 5, 02600 Espoo","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1777445715; x=1808981715;\n h=date:from:to:cc:subject:message-id:references:\n mime-version:content-transfer-encoding:in-reply-to;\n bh=kYYeufPkRyGcr0hiIW6bKGaXhz8Q+nnaSSo0fxSS6co=;\n b=mRYNGpKkdPZn92Js4w44vvHbhSgXVXy1f8mAr+/9W1FABmA43BvjO7EP\n GVD0J2RI12BQWLSVn+4pSjmpK3tJLexJPN1TP7IkIGvcp1XQ3/d//xFrS\n CJp3WQFbkvgN16LA4psH1fQ+t2XLRziSgU91OeRpokNK6AaSQAq0gdaSG\n uvWDZk0FksjFnREON71yB0shU5ojBgYqTUbdKAnKCfQpfx76Fc62Dnd3u\n WaBINNRZ0vVuN8peK/uponY/3gyaThgUpnevzRqr5fFlkDu/NtPvnOYcD\n K8l9VlBFLlOf6aC4AUDY9hYTH3ZFoMnxoSpVTUBBdaTPfOlQyc0M39ger\n w==;","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp4.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=mRYNGpKk"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Cai Huoqing <cai.huoqing@linux.dev>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n Eric Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>,\n Richard Cochran <richardcochran@gmail.com>,\n Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Jian Shen <shenjian15@huawei.com>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>,\n Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Peiyang Wang <wangpeiyang1@huawei.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Philipp Stanner <phasta@kernel.org>,\n Chi-hsien Lin <chi-hsien.lin@cypress.com>, Ido Schimmel <idosch@nvidia.com>,\n Potnuri Bharat Teja <bharat@chelsio.com>, Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Marc Kleine-Budde <mkl@pengutronix.de>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Petr Machata <petrm@nvidia.com>, Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com, GR-Linux-NIC-Dev@marvell.com,\n Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>,\n Denis Benato <benato.denis96@gmail.com>, Rasesh Mody <rmody@marvell.com>,\n netdev@vger.kernel.org, oss-drivers@corigine.com,\n Vincent Mailhol <mailhol@kernel.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n \"David S. Miller\" <davem@davemloft.net>, Jijie Shao <shaojijie@huawei.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n linux-rdma@vger.kernel.org, Mark Einon <mark.einon@gmail.com>,\n Johannes Berg <johannes@sipsolutions.net>,\n Heiner Kallweit <hkallweit1@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>,\n Sudarsana Kalluru <skalluru@marvell.com>, Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684845,"web_url":"http://patchwork.ozlabs.org/comment/3684845/","msgid":"<20260429-responsible-clever-coyote-6b79f1-mkl@pengutronix.de>","list_archive_url":null,"date":"2026-04-29T09:10:21","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":2822,"url":"http://patchwork.ozlabs.org/api/people/2822/","name":"Marc Kleine-Budde","email":"mkl@pengutronix.de"},"content":"On 28.04.2026 19:18:44, Uwe Kleine-König (The Capable Hub) wrote:\n>  drivers/net/can/m_can/m_can_pci.c             |   6 +-\n>  drivers/net/can/sja1000/plx_pci.c             | 167 +++----\n[...]\n> diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c\n> index 08183833c9bc..a03553b80a5d 100644\n> --- a/drivers/net/can/sja1000/plx_pci.c\n> +++ b/drivers/net/can/sja1000/plx_pci.c\n> @@ -272,124 +272,89 @@ static struct plx_pci_card_info plx_pci_card_info_asem_dual_can = {\n>  static const struct pci_device_id plx_pci_tbl[] = {\n>  \t{\n>  \t\t/* Adlink PCI-7841/cPCI-7841 */\n> -\t\tADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID,\n> -\t\tPCI_CLASS_NETWORK_OTHER << 8, ~0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_adlink\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE(ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID),\n> +\t\t.class = PCI_CLASS_NETWORK_OTHER << 8,\n> +\t\t.class_mask = ~0,\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_adlink,\n> +\t}, {\n>  \t\t/* Adlink PCI-7841/cPCI-7841 SE */\n> -\t\tADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID,\n> -\t\tPCI_CLASS_COMMUNICATION_OTHER << 8, ~0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_adlink_se\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE(ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID),\n> +\t\t.class = PCI_CLASS_COMMUNICATION_OTHER << 8,\n> +\t\t.class_mask = ~0,\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_adlink_se,\n> +\t}, {\n>  \t\t/* esd CAN-PCI/200 */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,\n> -\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_esd200\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9050,\n> +\t\t\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,\n> +\t}, {\n>  \t\t/* esd CAN-CPCI/200 */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,\n> -\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_esd200\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,\n> +\t\t\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,\n> +\t}, {\n>  \t\t/* esd CAN-PCI104/200 */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,\n> -\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_esd200\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,\n> +\t\t\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,\n> +\t}, {\n>  \t\t/* esd CAN-PCI/266 */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,\n> -\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_esd266\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,\n> +\t\t\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd266,\n> +\t}, {\n>  \t\t/* esd CAN-PMC/266 */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,\n> -\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_esd266\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,\n> +\t\t\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd266,\n> +\t}, {\n>  \t\t/* esd CAN-PCIE/2000 */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,\n> -\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_esd2000\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,\n> +\t\t\t\tPCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd2000,\n> +\t}, {\n>  \t\t/* IXXAT PC-I 04/PCI card */\n> -\t\tIXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID,\n> -\t\tPCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_ixxat\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE_SUB(IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID,\n> +\t\t\t       PCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_ixxat,\n> +\t}, {\n>  \t\t/* Marathon CAN-bus-PCI card */\n> -\t\tPCI_VENDOR_ID_PLX, MARATHON_PCI_DEVICE_ID,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_marathon_pci\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE(PLX, MARATHON_PCI_DEVICE_ID),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_marathon_pci,\n> +\t}, {\n>  \t\t/* Marathon CAN-bus-PCIe card */\n> -\t\tPCI_VENDOR_ID_PLX, MARATHON_PCIE_DEVICE_ID,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_marathon_pcie\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE(PLX, MARATHON_PCIE_DEVICE_ID),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_marathon_pcie,\n> +\t}, {\n>  \t\t/* TEWS TECHNOLOGIES TPMC810 card */\n> -\t\tTEWS_PCI_VENDOR_ID, TEWS_PCI_DEVICE_ID_TMPC810,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_tews\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE(TEWS_PCI_VENDOR_ID, TEWS_PCI_DEVICE_ID_TMPC810),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_tews,\n> +\t}, {\n>  \t\t/* Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card */\n> -\t\tPCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,\n> -\t\tPCI_SUBVENDOR_ID_CONNECT_TECH, CTI_PCI_DEVICE_ID_CRG001,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_cti\n> -\t},\n> -\t{\n> +\t\tPCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,\n> +\t\t\t\tPCI_SUBVENDOR_ID_CONNECT_TECH, CTI_PCI_DEVICE_ID_CRG001),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_cti,\n> +\t}, {\n>  \t\t/* Elcus CAN-200-PCI */\n> -\t\tCAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,\n> -\t\tCAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_elcus\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE_SUB(CAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,\n> +\t\t\t       CAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_elcus,\n> +\t}, {\n>  \t\t/* moxa */\n> -\t\tMOXA_PCI_VENDOR_ID, MOXA_PCI_DEVICE_ID,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_moxa\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE(MOXA_PCI_VENDOR_ID, MOXA_PCI_DEVICE_ID),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_moxa,\n> +\t}, {\n>  \t\t/* ASEM Dual CAN raw */\n> -\t\tASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,\n> -\t\tASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_asem_dual_can\n> -\t},\n> -\t{\n> +\t\tPCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,\n> +\t\t\t       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,\n> +\t}, {\n>  \t\t/* ASEM Dual CAN raw -new model */\n> -\t\tASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,\n> -\t\tASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS,\n> -\t\t0, 0,\n> -\t\t(kernel_ulong_t)&plx_pci_card_info_asem_dual_can\n> +\t\tPCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,\n> +\t\t\t       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),\n> +\t\t.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,\n>  \t},\n> -\t{ 0,}\n> +\t{ }\n\nNitpick: can you convert the terminating entry to follow the same style\nas the rest of the driver:\n\ndiff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c\nindex a03553b80a5d..d69ff0ccfd94 100644\n--- a/drivers/net/can/sja1000/plx_pci.c\n+++ b/drivers/net/can/sja1000/plx_pci.c\n@@ -353,8 +353,8 @@ static const struct pci_device_id plx_pci_tbl[] = {\n                 PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,\n                                ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),\n                 .driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,\n-        },\n-        { }\n+        }, {\n+        }\n };\n MODULE_DEVICE_TABLE(pci, plx_pci_tbl);\n\n>  };\n>  MODULE_DEVICE_TABLE(pci, plx_pci_tbl);\n>\n\nregards,\nMarc","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=LYwMq+3u;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cC2MYHz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:30 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 513F06E3B4;\n\tThu, 30 Apr 2026 16:53:28 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id aq7NWsFm5v4t; Thu, 30 Apr 2026 16:53:27 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id E0EF06E278;\n\tThu, 30 Apr 2026 16:53:26 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists1.osuosl.org (Postfix) with ESMTP id 9DFB4231\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 09:28:06 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 83A974217C\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 09:28:06 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id O7m68345KcqV for <intel-wired-lan@lists.osuosl.org>;\n Wed, 29 Apr 2026 09:28:05 +0000 (UTC)","from metis.whiteo.stw.pengutronix.de\n (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 9A55442176\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 09:28:04 +0000 (UTC)","from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])\n by metis.whiteo.stw.pengutronix.de with esmtps\n (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)\n (envelope-from <mkl@pengutronix.de>)\n id 1wI0wA-0006pG-NU; Wed, 29 Apr 2026 11:10:30 +0200","from moin.white.stw.pengutronix.de ([2a0a:edc0:0:b01:1d::7b]\n helo=bjornoya.blackshift.org)\n by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)\n (envelope-from <mkl@pengutronix.de>) id 1wI0w3-007oJR-0R;\n Wed, 29 Apr 2026 11:10:23 +0200","from pengutronix.de (p4ffb2dc6.dip0.t-ipconnect.de [79.251.45.198])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (Client did not present a certificate)\n (Authenticated sender: mkl-all@blackshift.org)\n by smtp.blackshift.org (Postfix) with ESMTPSA id 668E3526F68;\n Wed, 29 Apr 2026 09:10:22 +0000 (UTC)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp3.osuosl.org E0EF06E278","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 9A55442176"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568006;\n\tbh=L7Rr9mTkE3RA3Jx039p22gY3aWES/N/FW2UQ9KGdOR8=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=LYwMq+3uy7S3Xw3kDCZy0SissrrBI0fx26Pjjz57v52Ly/xNuZONxXCXoRvdzKUA/\n\t gPBjL7sih9QLZ/O5/ZyXCv4fygk4UnCvp4ObfssUigxuJhaUJ9gYbo29ngZ6VYCYsM\n\t m2Y5KRdji8n8nX9W5j+rb1dZIIM0Dwdv4G5G09cE+xafhSC4KNweR8kZuMZ/L0w7aF\n\t 3YSYDdo1uapJ5OqIwip5VktJ/+kwhnSvoF4n8cTQ5Do6HbkiVkbRG14rzh8x7GHMkV\n\t VLGMaQRxr9QuxsK5yHS4lPLQjWLxFwEo26BlNKeJmKgyXcIHgFL+erxJkcMpqV6t5M\n\t VlP9goWyuHEzg==","X-Greylist":"delayed 1042 seconds by postgrey-1.37 at util1.osuosl.org;\n Wed, 29 Apr 2026 09:28:04 UTC","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 9A55442176","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a0a:edc0:2:b01:1d::104; helo=metis.whiteo.stw.pengutronix.de;\n envelope-from=mkl@pengutronix.de; receiver=<UNKNOWN>","Date":"Wed, 29 Apr 2026 11:10:21 +0200","From":"Marc Kleine-Budde <mkl@pengutronix.de>","To":"Uwe =?utf-8?q?Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","Message-ID":"<20260429-responsible-clever-coyote-6b79f1-mkl@pengutronix.de>","X-AI":"stop_reason: \"refusal\"","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n protocol=\"application/pgp-signature\"; boundary=\"v5gtri26mw6juc6y\"","Content-Disposition":"inline","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","X-SA-Exim-Connect-IP":"2a0a:edc0:0:c01:1d::a2","X-SA-Exim-Mail-From":"mkl@pengutronix.de","X-SA-Exim-Scanned":"No (on metis.whiteo.stw.pengutronix.de);\n SAEximRunCond expanded to false","X-PTX-Original-Recipient":"intel-wired-lan@lists.osuosl.org","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-Authentication-Results":"smtp4.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=pengutronix.de","Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n Eric Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>,\n \"David S. Miller\" <davem@davemloft.net>,\n Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Peiyang Wang <wangpeiyang1@huawei.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Philipp Stanner <phasta@kernel.org>,\n Chi-hsien Lin <chi-hsien.lin@cypress.com>,\n Ido Schimmel <idosch@nvidia.com>, Potnuri Bharat Teja <bharat@chelsio.com>,\n Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Cai Huoqing <cai.huoqing@linux.dev>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Andy Shevchenko <andriy.shevchenko@intel.com>,\n Petr Machata <petrm@nvidia.com>, Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com, GR-Linux-NIC-Dev@marvell.com,\n Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>,\n Denis Benato <benato.denis96@gmail.com>, Rasesh Mody <rmody@marvell.com>,\n netdev@vger.kernel.org, oss-drivers@corigine.com,\n Vincent Mailhol <mailhol@kernel.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n Jian Shen <shenjian15@huawei.com>, Jijie Shao <shaojijie@huawei.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n Mark Einon <mark.einon@gmail.com>, Johannes Berg <johannes@sipsolutions.net>,\n Heiner Kallweit <hkallweit1@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>,\n Sudarsana Kalluru <skalluru@marvell.com>, Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684846,"web_url":"http://patchwork.ozlabs.org/comment/3684846/","msgid":"<afHdAUpvfYa7A3AE@monoceros>","list_archive_url":null,"date":"2026-04-29T10:30:20","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":88686,"url":"http://patchwork.ozlabs.org/api/people/88686/","name":"Uwe Kleine-König (The Capable Hub)","email":"u.kleine-koenig@baylibre.com"},"content":"Hello Marc,\n\nOn Wed, Apr 29, 2026 at 11:10:21AM +0200, Marc Kleine-Budde wrote:\n> On 28.04.2026 19:18:44, Uwe Kleine-König (The Capable Hub) wrote:\n> >  \t},\n> > -\t{ 0,}\n> > +\t{ }\n> \n> Nitpick: can you convert the terminating entry to follow the same style\n> as the rest of the driver:\n> \n> diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c\n> index a03553b80a5d..d69ff0ccfd94 100644\n> --- a/drivers/net/can/sja1000/plx_pci.c\n> +++ b/drivers/net/can/sja1000/plx_pci.c\n> @@ -353,8 +353,8 @@ static const struct pci_device_id plx_pci_tbl[] = {\n>                  PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,\n>                                 ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),\n>                  .driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,\n> -        },\n> -        { }\n> +        }, {\n> +        }\n>  };\n>  MODULE_DEVICE_TABLE(pci, plx_pci_tbl);\n\nThat might be subjective. I also see some value to have the terminating\nentry stand out a bit in the formatting and so I usually kept the entry\nas it was.\n\nIf you prefer I can rework the can drivers at least to match your taste.\n\nAs you didn't object to have the can drivers converted as part of the\ndrivers/net patch, I assume that part is OK for you?!\n\nBest regards\nUwe","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=LlFRBbc4;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cF3HwHz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:33 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 96BB66E2A9;\n\tThu, 30 Apr 2026 16:53:29 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id tezuERLYgVA0; Thu, 30 Apr 2026 16:53:28 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 9A7216E3BE;\n\tThu, 30 Apr 2026 16:53:28 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n by lists1.osuosl.org (Postfix) with ESMTP id 0BACA273\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 10:30:26 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id F1F5B84014\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 10:30:25 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id VcuL7D_7fYpP for <intel-wired-lan@lists.osuosl.org>;\n Wed, 29 Apr 2026 10:30:25 +0000 (UTC)","from mail-wm1-x334.google.com (mail-wm1-x334.google.com\n [IPv6:2a00:1450:4864:20::334])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 76F6983EB0\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 10:30:24 +0000 (UTC)","by mail-wm1-x334.google.com with SMTP id\n 5b1f17b1804b1-4891e86fabeso138708395e9.1\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 03:30:24 -0700 (PDT)","from localhost\n (p200300f65f114e08936c55da887fa426.dip0.t-ipconnect.de.\n [2003:f6:5f11:4e08:936c:55da:887f:a426])\n by smtp.gmail.com with UTF8SMTPSA id\n 5b1f17b1804b1-48a7c57b641sm47160965e9.6.2026.04.29.03.30.21\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 29 Apr 2026 03:30:21 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9A7216E3BE","OpenDKIM Filter v2.11.0 smtp1.osuosl.org 76F6983EB0"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568008;\n\tbh=4K3CX6fQVp3G5LFrOMSsx2n8N4FljSdUREsN/3Z40rY=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=LlFRBbc4LKIANaWoQiQHAzp3qYQUwQpv/q09bctAEe+LA8Dg14+E/Wa00jYXi5NW3\n\t X9PyasV+zs2OtX++7GtvE6VWIVCenASRoqDEivaWUlNjbmz1hlGuXSl7hGW+2WT6iM\n\t 25hmoI/fP6k6LOe062NAcvam41tZmTvCQ9SDLEAVf28atv3COI0G7+5TK+8ZrHeUAt\n\t LLxQFgsfdfY3qZY8b0M8y5N/koj4BaSTeK4RUbctiRlqEGd6eKsfdRk3HH0ycblskp\n\t dasbqPpgchTtruvrALg8MnGYNdJ/X97tAK7TZvdor7kDQ2KtRnOAOyiTtMKfbc3iYc\n\t Cr/qBDpxjFH6w==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::334; helo=mail-wm1-x334.google.com;\n envelope-from=ukleinek@baylibre.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org 76F6983EB0","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777458622; x=1778063422;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=4K3CX6fQVp3G5LFrOMSsx2n8N4FljSdUREsN/3Z40rY=;\n b=cDVTejLNatwsRAqTJIgIBpO2qHbSL8+K9kqaF2Xyc6Wm5WtYBMCQ4ta/pUPxjr0+6K\n u/MeE5uZdKhppewjems12+lSqFWEAOvwE2w0DXc2JM6lYqjikE+UBr/RP/GewfrY1DQ+\n 8E5FGITSIHX3S2ybPcR9iadIU3To6LL/Jg4cUwJ4SFZ3nhK/LZ2HYL+oy98J+1opwUkE\n Nf8Lt7nLzBfJCG2IrWnpD9B7W4oKSf+Ox0R7jZ2S1vnhLBCklz0vvYMi782N7Ag/t9+R\n NrVHIdwgBp3GTlqeCNWmXwFhEx0NhzJVQASLslKuSl86/vtXM1d78oUlFyWArAhkdRlc\n RH4A==","X-Forwarded-Encrypted":"i=1;\n AFNElJ8n5iGHwVenIEDvBCUE1vn1eN6U4izVnpfZKXEXpbclpzlA0W7CDw2gp1j35mAmXC1iuwFmPd73+yF4hsjsmao=@lists.osuosl.org","X-Gm-Message-State":"AOJu0YwPbdSbHS0pLsLgEgR9InsbjbzblGV2DKhJU3HNcHtbUvItMP8T\n WTGF9ZfffJWtSdfJyrpOKap3rxA2HIdWP+AeNI+BU7PqHueEESCyQ2nqNHUmc4PBiWI=","X-Gm-Gg":"AeBDieu3jT3GuSq2JBAWl7XCOs76o78ATOo0MNe6Qrscbb169iDzRjYQv7wGmQuIbk2\n +dljNHXuYBpAp8c+cclhBRKoalxN/55fZ7B1b5o2ghF2D7zIP4XDwH3nigHzkXHWCimZTJELnwP\n 1/VC5oN6wIoKdvHS08tjc0vdrrGVONF1ItXpKdWZrRGc0JtiuCu6ozzg0zzkSazATbEGg7qoJrh\n Yg0MjfyEjbDWaxJ/7t73jz1hX+zX00OAwuk5xEd2FUY++A4oPdWxC84jFXZryofxqcMNfLZZ5AW\n gVH/6iLynAsWZdVvMF8VbOoL6rQr21BenBwf6HgDxB/gEQlN2HqDNq1JUV5dnigsD3vNI6hVHCk\n uiLRKs1HfXGpTJm4bb9/klbtLc7fur1UH5nk/uFokeJ8IFevcVK0oGdw7X1E3g0/eyoG/y+VP2S\n MkJb7Wfa88ad2ho5AKmbFdPcKGqM8S/RbqCKhKdUFFdAAyeMin+RM1YfqG7HVCi8aqhgCRzN0VN\n 9Lq2oXmSoFT1HAKlWJXt7LYUQ==","X-Received":"by 2002:a05:600c:a4f:b0:485:3a03:ceca with SMTP id\n 5b1f17b1804b1-48a7b543796mr66187605e9.23.1777458621928;\n Wed, 29 Apr 2026 03:30:21 -0700 (PDT)","Date":"Wed, 29 Apr 2026 12:30:20 +0200","From":"Uwe =?utf-8?q?Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","To":"Marc Kleine-Budde <mkl@pengutronix.de>","Message-ID":"<afHdAUpvfYa7A3AE@monoceros>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>\n <20260429-responsible-clever-coyote-6b79f1-mkl@pengutronix.de>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n protocol=\"application/pgp-signature\"; boundary=\"3grpbpcumi4i3vj3\"","Content-Disposition":"inline","In-Reply-To":"<20260429-responsible-clever-coyote-6b79f1-mkl@pengutronix.de>","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777458622;\n x=1778063422;\n darn=lists.osuosl.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=4K3CX6fQVp3G5LFrOMSsx2n8N4FljSdUREsN/3Z40rY=;\n b=Ug291Yr5EZ7EtpgDC1DnHAnZ7Hz9h2UOPBpjUopedAM3EjZxbQLRa6CdOCYrTg1WrH\n JjCLL8brOxXDGnRH4AnTJ/BH6J/ogRjI3Lsh7MU1Op3NGy+hU+r3qTTFjZ8NEacXYzmM\n FcEXFLVr2GX7eq67Q8yhOvriTHjdmnAsqMF7uRrBGlqEhY4FZ14+gHra4eL/AvMCnOGx\n o+y590sEUD3cigqPJDNMnfNCWYGdWZV2izu/07baQD0qHZ4S8Lzx1erHbesDQEA+TW0R\n nN+LscuHPh9yibJX7+Mptwm8BHlzXICu5coYf8oGXIzsZTkrdYhsEtdLzrELd1s+JJTW\n QdZA==","X-Mailman-Original-Authentication-Results":["smtp1.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=baylibre.com","smtp1.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=Ug291Yr5"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n Eric Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>,\n Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Philipp Stanner <phasta@kernel.org>, Ido Schimmel <idosch@nvidia.com>,\n Potnuri Bharat Teja <bharat@chelsio.com>, Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Cai Huoqing <cai.huoqing@linux.dev>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Andy Shevchenko <andriy.shevchenko@intel.com>,\n Petr Machata <petrm@nvidia.com>, Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com, GR-Linux-NIC-Dev@marvell.com,\n Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>,\n Denis Benato <benato.denis96@gmail.com>, Rasesh Mody <rmody@marvell.com>,\n netdev@vger.kernel.org, oss-drivers@corigine.com,\n Vincent Mailhol <mailhol@kernel.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n Jian Shen <shenjian15@huawei.com>, Jijie Shao <shaojijie@huawei.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n Mark Einon <mark.einon@gmail.com>, Johannes Berg <johannes@sipsolutions.net>,\n Heiner Kallweit <hkallweit1@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>,\n \"David S. Miller\" <davem@davemloft.net>, Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684847,"web_url":"http://patchwork.ozlabs.org/comment/3684847/","msgid":"<DI6D3JVJ6JG6.8V4XUVGJA2D4@baylibre.com>","list_archive_url":null,"date":"2026-04-30T08:55:14","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":82333,"url":"http://patchwork.ozlabs.org/api/people/82333/","name":"Markus Schneider-Pargmann","email":"msp@baylibre.com"},"content":"Hi Uwe,\n\nOn Tue Apr 28, 2026 at 7:18 PM CEST, Uwe Kleine-König (The Capable Hub) wrote:\n> ... and PCI device helpers.\n>\n> The various struct pci_device_id arrays were initialized mostly by one\n> the PCI_DEVICE macros and then list expressions. The latter isn't easily\n> readable if you're not into PCI. Using named initializers is more\n> explicit and thus easier to parse.\n>\n> Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> .subvendor and .subdevice where appropriate and skip explicit\n> assignments of 0 (which the compiler takes care of).\n>\n> The secret plan is to make struct pci_device_id::driver_data an\n> anonymous union (similar to\n> https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\n> and that requires named initializers. But it's also a nice cleanup on\n> its own.\n>\n> This change doesn't introduce changes to the compiled pci_device_id\n> arrays. Tested on x86 and arm64.\n>\n> Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>\n> ---\n> Hello,\n>\n> the mentioned follow-up quest allows to do\n>\n> \t\t\tPCI_DEVICE(0x1571, 0xa203),\n> \t+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n> \t-\t\t.driver_data_ptr = &card_info_10mbit,\n>\n> which gets rid of a bunch of casts and so brings a little bit more type\n> safety. This patch is a preparation for that.\n>\n> I handled all of drivers/net/ in a single patch, please tell me if I\n> should split by subsystem.\n>\n> Best regards\n> Uwe\n> ---\n\n[...]\n\n> diff --git a/drivers/net/can/m_can/m_can_pci.c b/drivers/net/can/m_can/m_can_pci.c\n> index eb31ed1f9644..cb9335c1d3ea 100644\n> --- a/drivers/net/can/m_can/m_can_pci.c\n> +++ b/drivers/net/can/m_can/m_can_pci.c\n> @@ -183,9 +183,9 @@ static SIMPLE_DEV_PM_OPS(m_can_pci_pm_ops,\n>  \t\t\t m_can_pci_suspend, m_can_pci_resume);\n>  \n>  static const struct pci_device_id m_can_pci_id_table[] = {\n> -\t{ PCI_VDEVICE(INTEL, 0x4bc1), M_CAN_CLOCK_FREQ_EHL, },\n> -\t{ PCI_VDEVICE(INTEL, 0x4bc2), M_CAN_CLOCK_FREQ_EHL, },\n> -\t{  }\t/* Terminating Entry */\n> +\t{ PCI_VDEVICE(INTEL, 0x4bc1), .driver_data = M_CAN_CLOCK_FREQ_EHL, },\n> +\t{ PCI_VDEVICE(INTEL, 0x4bc2), .driver_data = M_CAN_CLOCK_FREQ_EHL, },\n> +\t{ }\t/* terminating entry */\n\nM_CAN_CLOCK_FREQ_EHL is basically hardcoded for all PCI devices since\n2020. I don't think we need this driver data at all and can just drop it\nand use M_CAN_CLOCK_FREQ_EHL directly in the code for the frequency.\nOnce a real new PCI device gets added we can see if and what driver_data\nis needed.\n\nBest\nMarkus","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=C0ivV8y0;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cF6XdZz1yJr\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:33 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 3B53984EB4;\n\tThu, 30 Apr 2026 16:53:31 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id GblBPsnK2-8Y; Thu, 30 Apr 2026 16:53:29 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id D70E584EBA;\n\tThu, 30 Apr 2026 16:53:29 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists1.osuosl.org (Postfix) with ESMTP id C8567192\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 08:55:27 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id C65AA42311\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 08:55:27 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id FPMDplc_iiES for <intel-wired-lan@lists.osuosl.org>;\n Thu, 30 Apr 2026 08:55:26 +0000 (UTC)","from mail-wr1-x433.google.com (mail-wr1-x433.google.com\n [IPv6:2a00:1450:4864:20::433])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 560A940871\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 08:55:24 +0000 (UTC)","by mail-wr1-x433.google.com with SMTP id\n ffacd0b85a97d-449e96a8a80so3117f8f.3\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 01:55:24 -0700 (PDT)","from localhost ([2001:4090:a246:83ca:298c:ceb1:1a:f428])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-447b7ca5fe6sm11988989f8f.32.2026.04.30.01.55.21\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 30 Apr 2026 01:55:21 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org D70E584EBA","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 560A940871"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568009;\n\tbh=oTklDTNdxgMiOr8HV0Z6gDUQcK4MMB7dBQkYfU4NXYc=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=C0ivV8y038hp6JnNj9cusiLk5XHV5IOMO9kAbU02fnFqNOW18HAb4nFi0v/Vi7tYc\n\t 3tXdZMM0EmWYrOc8q5zkPlHmFsmSKqOPF4lZKnpCGGUCCwxKBl4o72VRVSyTnTcVun\n\t IgnKW0/geOgxyS8/yoOfJ3SDdtpSiQ83RmqaZdE4fzmwiMBl9PMHbFlNudNGidplXI\n\t h5m9Pn43V1UIPODy72Wfc5tz/i9/sjPXuH40xR5V677bOYb6gCe/157KKYGbpj6r6+\n\t W24ZghVG6BYkPM894HsmQ+1ICSANoFcRFzEDioQE5DTuL1ZEEwZW/I0Pzf7nazfYsA\n\t EItXEF0+XFBWw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::433; helo=mail-wr1-x433.google.com;\n envelope-from=msp@baylibre.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 560A940871","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777539323; x=1778144123;\n h=in-reply-to:references:content-transfer-encoding:to:from:subject:cc\n :message-id:date:mime-version:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=oTklDTNdxgMiOr8HV0Z6gDUQcK4MMB7dBQkYfU4NXYc=;\n b=M2kkoF3EyFFc2ZrjDgQRXENYZSjAc5JS51FOmvh31TKegPKiBXRwcQ52MfGaNqXcm+\n Gj8pnmOrKyHiIc9qu+9xP2NBiogelX8WsBQ+UpCGzGnHuShFjYdo2YNUZU/GNG0550qs\n N98+TXCksk3xGVkM5ic1iZuOfllaGmPJK8muCDA8hoo847iMN5znBXC2pEAXLdrWSvKb\n 4kIkjdXxHMH3DmcXBToEx07V4A0GlSEjhJBZdykhdt4DgidUvMgaWFtfY51NeSducRSb\n DQrUEmPHeH0zDWTuj2U2m3oo8ZOw2gc8SZYNItN3cDNfB3nIrW9Q4arj6kdFzOy1UbCY\n qtpg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+Ej/UjEYS+yTEcTAqLvIj3BDtgWBQ07mj+YLZ2iTjjBOpfPR4zJQWic04RvqSWBLPTufP3smiEvqI8jGIVggQ=@lists.osuosl.org","X-Gm-Message-State":"AOJu0YyFEj73Kk+8pOdz6U623fp80BV7SUkijK8ZAwukI2kaFeaqX+VK\n 8/TC77dH0oI3E89ZJ1D3VK3TLb4d0dEEPk8pxGSm1Xuid4D0ADJxitqzEHk0n8x2gr0=","X-Gm-Gg":"AeBDiesg2HfgrdPdkEl16sXdrrvAfwg5DjfGfPncAaKiujAsMcQ6cp4JpPbCjMI+l1O\n CIqpWsizVXvADpRKiNIkqUyv+M3cZfYx+NklVw9FZNe4zDdAfzpF5EPvqsnpG8SE441NOKEYnC5\n o4TFJH4/e9qksDBDc8IhmzXBFh97GQaJt7K8SrbHN9A2idFT9sX+5eqiObMWp66FHH66krCTzoC\n R70ntqWlaPOu0fxL8BcsNkRfP8xY3oMeUdtrmlQvqhkXaSBgqX3NhIxfQtwehWt0Arr6vwfJaQ1\n CL71YvdNSISqj2T1yrq4Cinto9QDrqVIhq5e3gtp/Iftk+KzYcrULmxOEZB20x9lBcf7E9hzBgY\n OPE3uaNv7BzCJsNm5zkYAhHUNmgTW/Q9Kqa1RQQaWayvSQNHg166T4JaVjT+h1hIfrfweQWDD/R\n EmDAxLw9qggF2A68Yz+cDUKxjypGM=","X-Received":"by 2002:a05:6000:26d1:b0:43e:a703:3665 with SMTP id\n ffacd0b85a97d-4493f42ced4mr3244142f8f.25.1777539322750;\n Thu, 30 Apr 2026 01:55:22 -0700 (PDT)","Mime-Version":"1.0","Content-Type":"multipart/signed;\n boundary=49f7733329a22fff4b83a1680bdebfd7a9830dc80234132c7fb08fa112fd;\n micalg=pgp-sha512; protocol=\"application/pgp-signature\"","Date":"Thu, 30 Apr 2026 10:55:14 +0200","Message-Id":"<DI6D3JVJ6JG6.8V4XUVGJA2D4@baylibre.com>","From":"\"Markus Schneider-Pargmann\" <msp@baylibre.com>","To":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>,\n \"Michael Grzeschik\" <m.grzeschik@pengutronix.de>,\n \"Andrew Lunn\" <andrew+netdev@lunn.ch>,\n \"David S. Miller\" <davem@davemloft.net>,\n \"Eric Dumazet\" <edumazet@google.com>, \"Jakub Kicinski\" <kuba@kernel.org>,\n \"Paolo Abeni\" <pabeni@redhat.com>, \"Marc Kleine-Budde\" <mkl@pengutronix.de>,\n \"Vincent Mailhol\" <mailhol@kernel.org>, \"Krzysztof Halasa\" <khc@pm.waw.pl>,\n \"Johannes Berg\" <johannes@sipsolutions.net>","Content-Transfer-Encoding":"quoted-printable","X-Mailer":"aerc 0.21.0-126-g9e77103592fe","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777539323;\n x=1778144123;\n darn=lists.osuosl.org;\n h=in-reply-to:references:content-transfer-encoding:to:from:subject:cc\n :message-id:date:mime-version:from:to:cc:subject:date:message-id\n :reply-to;\n bh=oTklDTNdxgMiOr8HV0Z6gDUQcK4MMB7dBQkYfU4NXYc=;\n b=ho2Ws5inyN+AQXbfCDPyDuD+s6WNVmETqzhUHrgj9oRwVTyvRzsUe45FC8ucvumVXY\n B742+7jGpeoewfbOQzzJIY2BLOAGWXSwFO2fUNZi6kEodrtth5DcfjYdXCu+RgUR8MIg\n fznRJR7dtBaY0wwjaiyP0+Y7S4N8MNFuQzx8y0ME/44PLQqOl+uNTGj1tu5IycFniKvX\n uCqjBI9UdGpWu+Er7Em1ehNPATaNIoIg5p1dtleq6sgGYC2Swxq4mnAAJMJgwe1hJ/iA\n 81sDQaYSz7tGnsarfbwinic/r2S/BnEL53DCt/I5oNc9plZdyFOVrlV8V8PVDDdFVLao\n 5X6A==","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=baylibre.com","smtp4.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=ho2Ws5in"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Yonglong Liu <liuyonglong@huawei.com>, Kees Cook <kees@kernel.org>,\n linux-wireless@vger.kernel.org, Larysa Zaremba <larysa.zaremba@intel.com>,\n brcm80211@lists.linux.dev, Daniele\n Venzano <venza@brownhat.org>, oss-drivers@corigine.com,\n Tony Nguyen <anthony.l.nguyen@intel.com>, MD Danish\n Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Marco Crivellari <marco.crivellari@suse.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Ion\n Badulescu <ionut@badula.org>, Andy\n Shevchenko <andriy.shevchenko@intel.com>, Leon\n Romanovsky <leon@kernel.org>, Colin Ian King <colin.i.king@gmail.com>,\n Przemek\n Kitszel <przemyslaw.kitszel@intel.com>,\n Peiyang Wang <wangpeiyang1@huawei.com>,\n Thomas Fourier <fourier.thomas@gmail.com>, Sai\n Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>,\n Mengyuan Lou <mengyuanlou@net-swift.com>,\n Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Philipp Stanner <phasta@kernel.org>,\n Chi-hsien Lin <chi-hsien.lin@cypress.com>, Ido\n Schimmel <idosch@nvidia.com>, Potnuri Bharat Teja <bharat@chelsio.com>,\n Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Cai Huoqing <cai.huoqing@linux.dev>, Bjorn\n Helgaas <bhelgaas@google.com>, Zilin Guan <zilin@seu.edu.cn>,\n linux-can@vger.kernel.org, Yibo Dong <dong100@mucse.com>, Joe\n Damato <joe@dama.to>, Petr Machata <petrm@nvidia.com>,\n Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com,\n GR-Linux-NIC-Dev@marvell.com, Vadim\n Fedorenko <vadim.fedorenko@linux.dev>, Manish Chopra <manishc@marvell.com>,\n Denis Benato <benato.denis96@gmail.com>, Rasesh\n Mody <rmody@marvell.com>, netdev@vger.kernel.org,\n Randy Dunlap <rdunlap@infradead.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n Jian Shen <shenjian15@huawei.com>, Jijie Shao <shaojijie@huawei.com>,\n Yeounsu Moon <yyyynoom@gmail.com>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n Mark Einon <mark.einon@gmail.com>,\n Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Saeed Mahameed <saeedm@nvidia.com>, Sudarsana\n Kalluru <skalluru@marvell.com>, Heiner Kallweit <hkallweit1@gmail.com>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684848,"web_url":"http://patchwork.ozlabs.org/comment/3684848/","msgid":"<afNUNeIsN4MrjWN7@monoceros>","list_archive_url":null,"date":"2026-04-30T13:13:13","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":88686,"url":"http://patchwork.ozlabs.org/api/people/88686/","name":"Uwe Kleine-König (The Capable Hub)","email":"u.kleine-koenig@baylibre.com"},"content":"Hello,\n\nOn Thu, Apr 30, 2026 at 02:53:29PM +0800, Jijie Shao wrote:\n> on 2026/4/29 1:18, Uwe Kleine-König (The Capable Hub) wrote:\n> > ... and PCI device helpers.\n> > \n> > The various struct pci_device_id arrays were initialized mostly by one\n> > the PCI_DEVICE macros and then list expressions. The latter isn't easily\n> > readable if you're not into PCI. Using named initializers is more\n> > explicit and thus easier to parse.\n> > \n> > Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> > .subvendor and .subdevice where appropriate and skip explicit\n> > assignments of 0 (which the compiler takes care of).\n> > \n> > The secret plan is to make struct pci_device_id::driver_data an\n> > anonymous union (similar to\n> > https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\n> > and that requires named initializers. But it's also a nice cleanup on\n> > its own.\n> > \n> > This change doesn't introduce changes to the compiled pci_device_id\n> > arrays. Tested on x86 and arm64.\n> > \n> > Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>\n> \n> ...\n> \n> > diff --git a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\n> > index 068da2fd1fea..b3e01b2f8319 100644\n> > --- a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\n> > +++ b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\n> > @@ -489,7 +489,7 @@ static void hbg_shutdown(struct pci_dev *pdev)\n> >   }\n> >   static const struct pci_device_id hbg_pci_tbl[] = {\n> > -\t{PCI_VDEVICE(HUAWEI, 0x3730), 0},\n> > +\t{ PCI_VDEVICE(HUAWEI, 0x3730) },\n> >   \t{ }\n> >   };\n> \n> Reviewed-by: Jijie Shao <shaojijie@huawei.com>\n\nThanks.\n\n> > +\t{\n> > +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE),\n> > +\t\t.driver_data = 0,\n> > +\t}, {\n> > +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE),\n> > +\t\t.driver_data = 0,\n> \n> Thanks for your work.\n> \n> If .driver_data = 0, is it possible to delete it to be consistent with other parts, for example:\n> \n> { PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE) }\n> \n> > +\t}, {\n> > +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA),\n> > +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n\nHowever keeping the explicit .driver_data = 0 to have a contrast to\nother `pci_device_id`s having a non-zero .driver_data in the same driver\nis also a good reason to keep the (technically redundant) assignment.\nFor other drivers I dropped these assignments if this is possible for\nall array members.\n\nHaving said that I don't intend to rework the patch for this suggestion.\n\nBest regards\nUwe","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=J0a3JFLW;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cG0JBrz1yK1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:34 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 39B4642BBE;\n\tThu, 30 Apr 2026 16:53:32 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id TkzdU_KV1wn7; Thu, 30 Apr 2026 16:53:31 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 2DD8D42BD3;\n\tThu, 30 Apr 2026 16:53:31 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id DEB72192\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 13:13:21 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id C3EA160F4B\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 13:13:21 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id C1dc8Lotay6k for <intel-wired-lan@lists.osuosl.org>;\n Thu, 30 Apr 2026 13:13:19 +0000 (UTC)","from mail-wm1-x336.google.com (mail-wm1-x336.google.com\n [IPv6:2a00:1450:4864:20::336])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 48A3660F47\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 13:13:17 +0000 (UTC)","by mail-wm1-x336.google.com with SMTP id\n 5b1f17b1804b1-4891c00e7aeso8197325e9.2\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 06:13:17 -0700 (PDT)","from localhost\n (p200300f65f114e0859f76ff87a50eb14.dip0.t-ipconnect.de.\n [2003:f6:5f11:4e08:59f7:6ff8:7a50:eb14])\n by smtp.gmail.com with UTF8SMTPSA id\n 5b1f17b1804b1-48a7b912ee3sm74461355e9.2.2026.04.30.06.13.14\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 30 Apr 2026 06:13:14 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 2DD8D42BD3","OpenDKIM Filter v2.11.0 smtp3.osuosl.org 48A3660F47"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568011;\n\tbh=FAU+laBnEtUtqsKtQVHrzB08mfX6f6gr6ykNiU5Tq5Q=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=J0a3JFLWnTUIFDiXCJ4ItsBMX8UISLotIZOoxQ0Oz/PPyOgkyedhOD2oFYZDqWAZw\n\t tnvS6d04AzhOBeTd4K78vDEi9QAPD/tMn0wInVMmwLD1ULK8JskxaPifTf/bYDQPrG\n\t 0szzCMCt+r5FTBPqE8RXhHzguuFTVdn4NmqPomxbEFWwYYS9NTqUhufHVwKacdZFQ8\n\t GFbpLF26/hT16QvxZcOm7WjzqqT2b/yNGl3VYkFG4Ya53cwgCGFzzQAC59qNfh+OO4\n\t WpFRknWtoWuxBjxRsrSlONk2AlB2QGjYD3qTuNFxUb7h1+1kiJlEW1G0Lfb/13wy+2\n\t dhHjBsWrBYWqA==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::336; helo=mail-wm1-x336.google.com;\n envelope-from=ukleinek@baylibre.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org 48A3660F47","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777554796; x=1778159596;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=FAU+laBnEtUtqsKtQVHrzB08mfX6f6gr6ykNiU5Tq5Q=;\n b=TYzE2jtroITgm0gcbHspIMGOe6IV5aCBBQSwi+49NNeFmth5ncDFgCI/NLiMBQhVkE\n uQCjB3TPhw+V+/KVRdYEF1ayDy0AhOPFIG4YfAvkRChEm5DRcTbcjf381faDReebmVzy\n +YOZFpN7ZJjihSxUUURlyIN3GwoMGpvHa9tQP3sIz3nozPj3e+8YG9gFYmA/Ow2SHPc/\n HSdu1Ry0L6/eSXACXKXvOC6JJJDsnvO9bwYwquLN4Rne/vqb2P9f6TOPgsnsAQuL8yht\n bpNuP8K0FJlAZTBEH3b6pSUqbwA3X4qNptcKlJMDDtSp825gq3UEjjfcC0p8BZON4E2q\n +Axg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+3goFROs64wJcy7Aex4r8SIoNxWMFvTCy/MD3P8u4LdF3IEB/iONGj6FkQlilTJxuaktIJrYa89J2XfZqWZwA=@lists.osuosl.org","X-Gm-Message-State":"AOJu0Yzsn/wOza/7i23ywJMrJgS656t4a6v2JT9dtvKzRRzpwjCtFB6f\n 9+SY+ki1lXkMt+xcDUu8GWNTohi3X9sLUrr70G7w16CdZVE278wwZndrWvAneZ+OA7k=","X-Gm-Gg":"AeBDievRdsFYnEwelwdiFZ3JaQ+dYxUFUZQ7TGIMRBw6CetHsdBQCdJApD2SOtlLfBu\n KRvdhPKSAzC+WgBDipel5gvDhAjoHmG97ryUqHrWy0duuxrcSbI6+FJajHhWwS/IA+Ds6I/Qpvy\n AKtqJUiCI0YGr+kMefY6Zz/aZ5991Mbhxdd6vdi6Tmd3rOQmEVpfI5PlAHAF0jr4Ac31QCLvhP9\n t0xup3IQrHXEb9e33iqg2enTuODfb9n//GCI/p0FTvj70+6TbfehWuOcHlwQVIq9yOL8M+yTGR0\n LsZPviuQUJkBGNfAMIIOI8idJYoS257PbtcJy3DViJNSq3iniagsE8+1VzjRPWV/L2+BH0h/xY4\n G9y207i71aUT8QRRyMd5voDqABX+GFILgRAPievSZ0VL3atFIlC8WGFB0CZ+cdC4P/A8lzh+xIi\n 6e5p6mPTIB/O/dnShru+l7OkhLktqiVIlDz00PjAKV20X5/7YLf74W7grSn+gJr7iwm9Pq/pD7I\n kZ84ayAsU/x/nNJl/8NnyAZLA==","X-Received":"by 2002:a05:600c:1382:b0:488:a977:8d6 with SMTP id\n 5b1f17b1804b1-48a84458db6mr47509015e9.19.1777554795369;\n Thu, 30 Apr 2026 06:13:15 -0700 (PDT)","Date":"Thu, 30 Apr 2026 15:13:13 +0200","From":"Uwe =?utf-8?q?Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","To":"Jijie Shao <shaojijie@huawei.com>","Message-ID":"<afNUNeIsN4MrjWN7@monoceros>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>\n <814632c8-070b-4b21-adbb-5a01a62d52f2@huawei.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n protocol=\"application/pgp-signature\"; boundary=\"eswuwmcxtpmq7cnr\"","Content-Disposition":"inline","In-Reply-To":"<814632c8-070b-4b21-adbb-5a01a62d52f2@huawei.com>","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777554796;\n x=1778159596;\n darn=lists.osuosl.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=FAU+laBnEtUtqsKtQVHrzB08mfX6f6gr6ykNiU5Tq5Q=;\n b=cevolYYt5SeJzXbiOyTDQdt6BuxzIR2wQ6rpvc9uX4QKwm2I+FOzE7EOz+B2H/dhNY\n vJf61V7eQ4u97IyO1pVq8akxdNnchArvBOXXZdmyfnxTV5jBTBBwvwjvDF+jcsbOI8a4\n +kOnnwssR9cBThtoietMCTRvQuai9suGrTK99hkuUgF5leJFByKcniwKrsE/rL9BLUZr\n MHm9yZ9HapN7uNhPx7ZGYVaD0KB1qtgfFn7pP6lq5nsWIqEJ5O/xJoQkVdRT58/7FKnl\n 9g8DPVnhhL+nWMi2xQ/6dDfVtkS7b6xOXlQkzBBbUjG+AfGCAiTxWqt3DZXg7GrfjqnO\n Jeuw==","X-Mailman-Original-Authentication-Results":["smtp3.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=baylibre.com","smtp3.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=cevolYYt"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n Eric Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>,\n Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Philipp Stanner <phasta@kernel.org>, Ido Schimmel <idosch@nvidia.com>,\n Potnuri Bharat Teja <bharat@chelsio.com>, Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Cai Huoqing <cai.huoqing@linux.dev>, Mark Einon <mark.einon@gmail.com>,\n Bjorn Helgaas <bhelgaas@google.com>, Zilin Guan <zilin@seu.edu.cn>,\n linux-can@vger.kernel.org, Yibo Dong <dong100@mucse.com>,\n Andy Shevchenko <andriy.shevchenko@intel.com>,\n Petr Machata <petrm@nvidia.com>,\n Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com,\n GR-Linux-NIC-Dev@marvell.com, Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>, Denis Benato <benato.denis96@gmail.com>,\n Rasesh Mody <rmody@marvell.com>, netdev@vger.kernel.org,\n oss-drivers@corigine.com, Vincent Mailhol <mailhol@kernel.org>,\n Mark Bloch <mbloch@nvidia.com>, linux-kernel@vger.kernel.org,\n Tariq Toukan <tariqt@nvidia.com>, Jian Shen <shenjian15@huawei.com>,\n Ion Badulescu <ionut@badula.org>, Andrew Lunn <andrew+netdev@lunn.ch>,\n Thomas Gleixner <tglx@kernel.org>, Simon Horman <horms@kernel.org>,\n Yicong Hui <yiconghui@gmail.com>, Marc Kleine-Budde <mkl@pengutronix.de>,\n Johannes Berg <johannes@sipsolutions.net>,\n Heiner Kallweit <hkallweit1@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>,\n \"David S. Miller\" <davem@davemloft.net>, Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684849,"web_url":"http://patchwork.ozlabs.org/comment/3684849/","msgid":"<814632c8-070b-4b21-adbb-5a01a62d52f2@huawei.com>","list_archive_url":null,"date":"2026-04-30T06:53:29","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":92560,"url":"http://patchwork.ozlabs.org/api/people/92560/","name":"Jijie Shao","email":"shaojijie@huawei.com"},"content":"on 2026/4/29 1:18, Uwe Kleine-König (The Capable Hub) wrote:\n> ... and PCI device helpers.\n>\n> The various struct pci_device_id arrays were initialized mostly by one\n> the PCI_DEVICE macros and then list expressions. The latter isn't easily\n> readable if you're not into PCI. Using named initializers is more\n> explicit and thus easier to parse.\n>\n> Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> .subvendor and .subdevice where appropriate and skip explicit\n> assignments of 0 (which the compiler takes care of).\n>\n> The secret plan is to make struct pci_device_id::driver_data an\n> anonymous union (similar to\n> https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\n> and that requires named initializers. But it's also a nice cleanup on\n> its own.\n>\n> This change doesn't introduce changes to the compiled pci_device_id\n> arrays. Tested on x86 and arm64.\n>\n> Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>\n\n...\n\n>   \n> diff --git a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\n> index 068da2fd1fea..b3e01b2f8319 100644\n> --- a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\n> +++ b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\n> @@ -489,7 +489,7 @@ static void hbg_shutdown(struct pci_dev *pdev)\n>   }\n>   \n>   static const struct pci_device_id hbg_pci_tbl[] = {\n> -\t{PCI_VDEVICE(HUAWEI, 0x3730), 0},\n> +\t{ PCI_VDEVICE(HUAWEI, 0x3730) },\n>   \t{ }\n>   };\n\nReviewed-by: Jijie Shao <shaojijie@huawei.com>\n\n>   MODULE_DEVICE_TABLE(pci, hbg_pci_tbl);\n> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c\n> index a3206c97923e..4c34a144d21c 100644\n> --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c\n> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c\n> @@ -86,25 +86,39 @@ module_param(page_pool_enabled, bool, 0400);\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id hns3_pci_tbl[] = {\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> +\t{\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE),\n> +\t\t.driver_data = 0,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE),\n> +\t\t.driver_data = 0,\n\nThanks for your work.\n\nIf .driver_data = 0, is it possible to delete it to be consistent with other parts, for example:\n\n{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE) }\n\nJijie Shao\n\n\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF),\n> +\t\t.driver_data = 0,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t},\n>   \t/* required last entry */\n> -\t{0,}\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, hns3_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\n> index dd4045c773d4..e17b92a411a2 100644\n> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\n> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\n> @@ -72,16 +72,16 @@ static struct hnae3_ae_algo ae_algo;\n>   static struct workqueue_struct *hclge_wq;\n>   \n>   static const struct pci_device_id ae_algo_pci_tbl[] = {\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA), 0},\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC) },\n> +\t{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA) },\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, ae_algo_pci_tbl);\n> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c\n> index 0cc911e6c732..063a692c2b41 100644\n> --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c\n> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c\n> @@ -26,11 +26,15 @@ static struct hnae3_ae_algo ae_algovf;\n>   static struct workqueue_struct *hclgevf_wq;\n>   \n>   static const struct pci_device_id ae_algovf_pci_tbl[] = {\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF), 0},\n> -\t{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),\n> -\t HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},\n> +\t{\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF),\n> +\t\t.driver_data = 0,\n> +\t}, {\n> +\t\tPCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),\n> +\t\t.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,\n> +\t},\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, ae_algovf_pci_tbl);\n> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c\n> index ae1f523d6841..42f4792d255b 100644\n> --- a/drivers/net/ethernet/huawei/hinic/hinic_main.c\n> +++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c\n> @@ -1467,12 +1467,12 @@ static void hinic_shutdown(struct pci_dev *pdev)\n>   }\n>   \n>   static const struct pci_device_id hinic_pci_table[] = {\n> -\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE), 0},\n> -\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE), 0},\n> -\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE_MEZZ), 0},\n> -\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE_MEZZ), 0},\n> -\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_VF), 0},\n> -\t{ 0, 0}\n> +\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE) },\n> +\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE) },\n> +\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE_MEZZ) },\n> +\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE_MEZZ) },\n> +\t{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_VF) },\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, hinic_pci_table);\n>   \n> diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c\n> index f83d5bd1041e..36df807cbe09 100644\n> --- a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c\n> +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c\n> @@ -426,10 +426,9 @@ static void hinic3_remove(struct pci_dev *pdev)\n>   }\n>   \n>   static const struct pci_device_id hinic3_pci_table[] = {\n> -\t{PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_PF), 0},\n> -\t{PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_VF), 0},\n> -\t{0, 0}\n> -\n> +\t{ PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_PF) },\n> +\t{ PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_VF) },\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, hinic3_pci_table);\n> diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c\n> index 9074b558de35..5ef82a4e6184 100644\n> --- a/drivers/net/ethernet/intel/e100.c\n> +++ b/drivers/net/ethernet/intel/e100.c\n> @@ -177,8 +177,8 @@ MODULE_PARM_DESC(eeprom_bad_csum_allow, \"Allow bad eeprom checksums\");\n>   MODULE_PARM_DESC(use_io, \"Force use of i/o access mode\");\n>   \n>   #define INTEL_8255X_ETHERNET_DEVICE(device_id, ich) {\\\n> -\tPCI_VENDOR_ID_INTEL, device_id, PCI_ANY_ID, PCI_ANY_ID, \\\n> -\tPCI_CLASS_NETWORK_ETHERNET << 8, 0xFFFF00, ich }\n> +\tPCI_VDEVICE(INTEL, device_id), \\\n> +\t.class = PCI_CLASS_NETWORK_ETHERNET << 8, .class_mask = 0xFFFF00, .driver_data = ich }\n>   static const struct pci_device_id e100_id_table[] = {\n>   \tINTEL_8255X_ETHERNET_DEVICE(0x1029, 0),\n>   \tINTEL_8255X_ETHERNET_DEVICE(0x1030, 0),\n> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\n> index 7ce0cc8ab8f4..5b7ba1594f0d 100644\n> --- a/drivers/net/ethernet/intel/e1000e/netdev.c\n> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c\n> @@ -7799,137 +7799,370 @@ static const struct pci_error_handlers e1000_err_handler = {\n>   };\n>   \n>   static const struct pci_device_id e1000_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_COPPER), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_FIBER), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP),\n> -\t  board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD), board_82571 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER), board_82571 },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_COPPER),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_FIBER),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD),\n> +\t\t.driver_data = board_82571,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER),\n> +\t\t.driver_data = board_82571,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI), board_82572 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_COPPER), board_82572 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_FIBER), board_82572 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_SERDES), board_82572 },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI),\n> +\t\t.driver_data = board_82572,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_COPPER),\n> +\t\t.driver_data = board_82572,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_FIBER),\n> +\t\t.driver_data = board_82572,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_SERDES),\n> +\t\t.driver_data = board_82572,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82573E), board_82573 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82573E_IAMT), board_82573 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82573L), board_82573 },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82573E),\n> +\t\t.driver_data = board_82573,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82573E_IAMT),\n> +\t\t.driver_data = board_82573,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82573L),\n> +\t\t.driver_data = board_82573,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82574L), board_82574 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82574LA), board_82574 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82583V), board_82583 },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82574L),\n> +\t\t.driver_data = board_82574,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82574LA),\n> +\t\t.driver_data = board_82574,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_82583V),\n> +\t\t.driver_data = board_82583,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_DPT),\n> -\t  board_80003es2lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_SPT),\n> -\t  board_80003es2lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_DPT),\n> -\t  board_80003es2lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_SPT),\n> -\t  board_80003es2lan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_DPT),\n> +\t\t.driver_data = board_80003es2lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_SPT),\n> +\t\t.driver_data = board_80003es2lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_DPT),\n> +\t\t.driver_data = board_80003es2lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_SPT),\n> +\t\t.driver_data = board_80003es2lan,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_G), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_GT), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_AMT), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_C), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M_AMT), board_ich8lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_82567V_3), board_ich8lan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_G),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_GT),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_AMT),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_C),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M_AMT),\n> +\t\t.driver_data = board_ich8lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_82567V_3),\n> +\t\t.driver_data = board_ich8lan,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_G), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_GT), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_AMT), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_C), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_BM), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V), board_ich9lan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_G),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_GT),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_AMT),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_C),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_BM),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V),\n> +\t\t.driver_data = board_ich9lan\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF), board_ich9lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_V), board_ich9lan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF),\n> +\t\t.driver_data = board_ich9lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_V),\n> +\t\t.driver_data = board_ich9lan,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LM), board_ich10lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LF), board_ich10lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_V), board_ich10lan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LM),\n> +\t\t.driver_data = board_ich10lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LF),\n> +\t\t.driver_data = board_ich10lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_V),\n> +\t\t.driver_data = board_ich10lan,\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LM), board_pchlan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LC), board_pchlan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DM), board_pchlan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DC), board_pchlan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LM),\n> +\t\t.driver_data = board_pchlan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LC),\n> +\t\t.driver_data = board_pchlan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DM),\n> +\t\t.driver_data = board_pchlan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DC),\n> +\t\t.driver_data = board_pchlan\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_LM), board_pch2lan },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_V), board_pch2lan },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_LM),\n> +\t\t.driver_data = board_pch2lan,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_V),\n> +\t\t.driver_data = board_pch2lan\n> +\t},\n>   \n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_LM), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM2), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V2), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM3), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V3), board_pch_lpt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM2), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V2), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LBG_I219_LM3), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM4), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V4), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM5), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V5), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM6), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V6), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM7), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V7), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM8), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V8), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11), board_pch_cnp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V12), board_pch_spt },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM13), board_pch_tgp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V13), board_pch_tgp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM14), board_pch_tgp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V14), board_pch_tgp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM15), board_pch_tgp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V15), board_pch_tgp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM23), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V23), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM16), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM19), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V19), board_pch_adp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V21), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_LM24), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_V24), board_pch_mtp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM25), board_pch_ptp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V25), board_pch_ptp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27), board_pch_ptp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27), board_pch_ptp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29), board_pch_ptp },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29), board_pch_ptp },\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_LM),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM2),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V2),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM3),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V3),\n> +\t\t.driver_data = board_pch_lpt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM2),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V2),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LBG_I219_LM3),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM4),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V4),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM5),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V5),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM6),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V6),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM7),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V7),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM8),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V8),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11),\n> +\t\t.driver_data = board_pch_cnp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V12),\n> +\t\t.driver_data = board_pch_spt,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM13),\n> +\t\t.driver_data = board_pch_tgp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V13),\n> +\t\t.driver_data = board_pch_tgp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM14),\n> +\t\t.driver_data = board_pch_tgp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V14),\n> +\t\t.driver_data = board_pch_tgp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM15),\n> +\t\t.driver_data = board_pch_tgp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V15),\n> +\t\t.driver_data = board_pch_tgp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM23),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V23),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM16),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM19),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V19),\n> +\t\t.driver_data = board_pch_adp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V21),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_LM24),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_V24),\n> +\t\t.driver_data = board_pch_mtp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM25),\n> +\t\t.driver_data = board_pch_ptp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V25),\n> +\t\t.driver_data = board_pch_ptp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27),\n> +\t\t.driver_data = board_pch_ptp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27),\n> +\t\t.driver_data = board_pch_ptp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29),\n> +\t\t.driver_data = board_pch_ptp,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29),\n> +\t\t.driver_data = board_pch_ptp\n> +\t},\n>   \n> -\t{ 0, 0, 0, 0, 0, 0, 0 }\t/* terminate list */\n> +\t{ }\t/* terminate list */\n>   };\n>   MODULE_DEVICE_TABLE(pci, e1000_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c\n> index d75b8a50413d..f5b4d062709a 100644\n> --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c\n> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c\n> @@ -21,12 +21,12 @@ static const struct fm10k_info *fm10k_info_tbl[] = {\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id fm10k_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_PF), fm10k_device_pf },\n> -\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2), fm10k_device_pf },\n> -\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_DA2), fm10k_device_pf },\n> -\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_VF), fm10k_device_vf },\n> +\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_PF), .driver_data = fm10k_device_pf },\n> +\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2), .driver_data = fm10k_device_pf },\n> +\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_DA2), .driver_data = fm10k_device_pf },\n> +\t{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_VF), .driver_data = fm10k_device_vf },\n>   \t/* required last entry */\n> -\t{ 0, }\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, fm10k_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\n> index 028bd500603a..93faada2d328 100644\n> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n> @@ -63,40 +63,43 @@ static bool i40e_is_total_port_shutdown_enabled(struct i40e_pf *pf);\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id i40e_pci_tbl[] = {\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_XL710), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_QEMU), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_B), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_C), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_A), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_B), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_C), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_BC), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T4), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_BC), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_SFP), 0},\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_XL710) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QEMU) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_B) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_C) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_A) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_B) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_C) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_BC) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T4) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_BC) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_SFP) },\n>   \t/*\n>   \t * This ID conflicts with ipw2200, but the devices can be differentiated\n>   \t * because i40e devices use PCI_CLASS_NETWORK_ETHERNET and ipw2200\n>   \t * devices use PCI_CLASS_NETWORK_OTHER.\n>   \t */\n> -\t{PCI_DEVICE(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_B),\n> -\t\tPCI_CLASS_NETWORK_ETHERNET << 8, 0xffff00, 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_X722), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_X722), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_X722), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_X722), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_I_X722), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722_A), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2_A), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_X710_N3000), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_XXV710_N3000), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_B), 0},\n> -\t{PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_SFP28), 0},\n> +\t{\n> +\t\tPCI_DEVICE(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_B),\n> +\t\t.class = PCI_CLASS_NETWORK_ETHERNET << 8,\n> +\t\t.class_mask = 0xffff00,\n> +\t},\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_X722) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_X722) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_X722) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_X722) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_I_X722) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722_A) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2_A) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_X710_N3000) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_XXV710_N3000) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_B) },\n> +\t{ PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_SFP28) },\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, i40e_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c\n> index 3c1465cf0515..f00692f1e459 100644\n> --- a/drivers/net/ethernet/intel/iavf/iavf_main.c\n> +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c\n> @@ -36,12 +36,12 @@ static const char iavf_copyright[] =\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id iavf_pci_tbl[] = {\n> -\t{PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF), 0},\n> -\t{PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF_HV), 0},\n> -\t{PCI_VDEVICE(INTEL, IAVF_DEV_ID_X722_VF), 0},\n> -\t{PCI_VDEVICE(INTEL, IAVF_DEV_ID_ADAPTIVE_VF), 0},\n> +\t{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF) },\n> +\t{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF_HV) },\n> +\t{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_X722_VF) },\n> +\t{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_ADAPTIVE_VF) },\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, iavf_pci_tbl);\n> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c\n> index ce91dda00ec0..49d46670695f 100644\n> --- a/drivers/net/ethernet/intel/igb/igb_main.c\n> +++ b/drivers/net/ethernet/intel/igb/igb_main.c\n> @@ -63,40 +63,40 @@ static const struct pci_device_id igb_pci_tbl[] = {\n>   \t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) },\n>   \t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) },\n>   \t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_COPPER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_FIBER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SGMII), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER_FLASHLESS), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES_FLASHLESS), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_COPPER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_FIBER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SGMII), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_FIBER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_QUAD_FIBER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SGMII), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER_DUAL), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SGMII), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SFP), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES_QUAD), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), board_82575 },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_COPPER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_FIBER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SGMII), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER_FLASHLESS), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES_FLASHLESS), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_COPPER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_FIBER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SGMII), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_FIBER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_QUAD_FIBER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SGMII), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER_DUAL), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SGMII), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SFP), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES_QUAD), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), .driver_data = board_82575 },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), .driver_data = board_82575 },\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, igb_pci_tbl);\n> diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c\n> index 5d04541072b3..0a3d0a1cba43 100644\n> --- a/drivers/net/ethernet/intel/igbvf/netdev.c\n> +++ b/drivers/net/ethernet/intel/igbvf/netdev.c\n> @@ -2937,8 +2937,8 @@ static const struct pci_error_handlers igbvf_err_handler = {\n>   };\n>   \n>   static const struct pci_device_id igbvf_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), board_vf },\n> -\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_VF), board_i350_vf },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), .driver_data = board_vf },\n> +\t{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_VF), .driver_data = board_i350_vf },\n>   \t{ } /* terminate list */\n>   };\n>   MODULE_DEVICE_TABLE(pci, igbvf_pci_tbl);\n> diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c\n> index 8ac16808023c..89b9e1d00fc7 100644\n> --- a/drivers/net/ethernet/intel/igc/igc_main.c\n> +++ b/drivers/net/ethernet/intel/igc/igc_main.c\n> @@ -47,24 +47,24 @@ static const struct igc_info *igc_info_tbl[] = {\n>   };\n>   \n>   static const struct pci_device_id igc_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LM), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_V), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_I), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I220_V), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K2), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_K), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LMVP), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LMVP), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_IT), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LM), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_V), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_IT), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I221_V), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_BLANK_NVM), board_base },\n> -\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_BLANK_NVM), board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LM), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_V), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_I), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I220_V), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K2), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_K), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LMVP), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LMVP), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_IT), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LM), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_V), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_IT), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I221_V), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_BLANK_NVM), .driver_data = board_base },\n> +\t{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_BLANK_NVM), .driver_data = board_base },\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, igc_pci_tbl);\n> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n> index 2646ee6f295f..730a35658c76 100644\n> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n> @@ -88,60 +88,60 @@ static const struct ixgbe_info *ixgbe_info_tbl[] = {\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id ixgbe_pci_tbl[] = {\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT2), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_XF_LR), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_BX), board_82598 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_XAUI_LOM), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KR), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_EM), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_CX4), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_FCOE), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_T3_LOM), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_COMBO_BACKPLANE), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T), board_X540 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF2), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP), board_82599 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1), board_X540 },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T), board_X550},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T1), board_X550},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KX4), board_X550EM_x},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_XFI), board_X550EM_x},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KR), board_X550EM_x},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_10G_T), board_X550EM_x},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_SFP), board_X550EM_x},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_1G_T), board_x550em_x_fw},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR), board_x550em_a },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR_L), board_x550em_a },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N), board_x550em_a },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII), board_x550em_a },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L), board_x550em_a },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_10G_T), board_x550em_a},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP), board_x550em_a },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T), board_x550em_a_fw },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L), board_x550em_a_fw },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_BACKPLANE), board_e610},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SFP), board_e610},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_10G_T), board_e610},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_2_5G_T), board_e610},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SGMII), board_e610},\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT2), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_XF_LR), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_BX), .driver_data = board_82598 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_XAUI_LOM), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KR), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_EM), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_CX4), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_FCOE), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_T3_LOM), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_COMBO_BACKPLANE), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T), .driver_data = board_X540 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF2), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP), .driver_data = board_82599 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1), .driver_data = board_X540 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T), .driver_data = board_X550 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T1), .driver_data = board_X550 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KX4), .driver_data = board_X550EM_x },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_XFI), .driver_data = board_X550EM_x },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KR), .driver_data = board_X550EM_x },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_10G_T), .driver_data = board_X550EM_x },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_SFP), .driver_data = board_X550EM_x },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_1G_T), .driver_data = board_x550em_x_fw },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR_L), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_10G_T), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP), .driver_data = board_x550em_a },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T), .driver_data = board_x550em_a_fw },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L), .driver_data = board_x550em_a_fw },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_BACKPLANE), .driver_data = board_e610 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SFP), .driver_data = board_e610 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_10G_T), .driver_data = board_e610 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_2_5G_T), .driver_data = board_e610 },\n> +\t{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SGMII), .driver_data = board_e610 },\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, ixgbe_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n> index 42f89a179a3f..b5d15c1f0d4f 100644\n> --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n> +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n> @@ -64,20 +64,43 @@ static const struct ixgbevf_info *ixgbevf_info_tbl[] = {\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id ixgbevf_pci_tbl[] = {\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF), board_82599_vf },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF_HV), board_82599_vf_hv },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF), board_X540_vf },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF_HV), board_X540_vf_hv },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF), board_X550_vf },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF_HV), board_X550_vf_hv },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF), board_X550EM_x_vf },\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV), board_X550EM_x_vf_hv},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_VF), board_x550em_a_vf },\n> -\t{PCI_VDEVICE_SUB(INTEL, IXGBE_DEV_ID_E610_VF, PCI_ANY_ID,\n> -\t\t\t IXGBE_SUBDEV_ID_E610_VF_HV), board_e610_vf_hv},\n> -\t{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_VF), board_e610_vf},\n> +\t{\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF),\n> +\t\t.driver_data = board_82599_vf,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF_HV),\n> +\t\t.driver_data = board_82599_vf_hv,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF),\n> +\t\t.driver_data = board_X540_vf,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF_HV),\n> +\t\t.driver_data = board_X540_vf_hv,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF),\n> +\t\t.driver_data = board_X550_vf,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF_HV),\n> +\t\t.driver_data = board_X550_vf_hv,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF),\n> +\t\t.driver_data = board_X550EM_x_vf,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV),\n> +\t\t.driver_data = board_X550EM_x_vf_hv\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_VF),\n> +\t\t.driver_data = board_x550em_a_vf,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(INTEL, IXGBE_DEV_ID_E610_VF,\n> +\t\t\t\tPCI_ANY_ID, IXGBE_SUBDEV_ID_E610_VF_HV),\n> +\t\t.driver_data = board_e610_vf_hv,\n> +\t}, {\n> +\t\tPCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_VF),\n> +\t\t.driver_data = board_e610_vf,\n> +\t},\n>   \t/* required last entry */\n> -\t{0, }\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, ixgbevf_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c\n> index e6b7e75894ff..4fe6dbf0942f 100644\n> --- a/drivers/net/ethernet/mellanox/mlx4/main.c\n> +++ b/drivers/net/ethernet/mellanox/mlx4/main.c\n> @@ -4274,9 +4274,9 @@ int mlx4_restart_one(struct pci_dev *pdev)\n>   \treturn mlx4_restart_one_up(pdev, false, NULL);\n>   }\n>   \n> -#define MLX_SP(id) { PCI_VDEVICE(MELLANOX, id), MLX4_PCI_DEV_FORCE_SENSE_PORT }\n> -#define MLX_VF(id) { PCI_VDEVICE(MELLANOX, id), MLX4_PCI_DEV_IS_VF }\n> -#define MLX_GN(id) { PCI_VDEVICE(MELLANOX, id), 0 }\n> +#define MLX_SP(id) { PCI_VDEVICE(MELLANOX, id), .driver_data = MLX4_PCI_DEV_FORCE_SENSE_PORT }\n> +#define MLX_VF(id) { PCI_VDEVICE(MELLANOX, id), .driver_data = MLX4_PCI_DEV_IS_VF }\n> +#define MLX_GN(id) { PCI_VDEVICE(MELLANOX, id), .driver_data = 0 }\n>   \n>   static const struct pci_device_id mlx4_pci_table[] = {\n>   #ifdef CONFIG_MLX4_CORE_GEN2\n> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c\n> index 74827e8ca125..ff450269ce37 100644\n> --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c\n> +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c\n> @@ -2203,19 +2203,26 @@ static int mlx5_resume(struct pci_dev *pdev)\n>   \n>   static const struct pci_device_id mlx5_core_pci_table[] = {\n>   \t{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTIB) },\n> -\t{ PCI_VDEVICE(MELLANOX, 0x1012), MLX5_PCI_DEV_IS_VF},\t/* Connect-IB VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x1012),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* Connect-IB VF */\n>   \t{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTX4) },\n> -\t{ PCI_VDEVICE(MELLANOX, 0x1014), MLX5_PCI_DEV_IS_VF},\t/* ConnectX-4 VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x1014),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* ConnectX-4 VF */\n>   \t{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTX4_LX) },\n> -\t{ PCI_VDEVICE(MELLANOX, 0x1016), MLX5_PCI_DEV_IS_VF},\t/* ConnectX-4LX VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x1016),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* ConnectX-4LX VF */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x1017) },\t\t\t/* ConnectX-5, PCIe 3.0 */\n> -\t{ PCI_VDEVICE(MELLANOX, 0x1018), MLX5_PCI_DEV_IS_VF},\t/* ConnectX-5 VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x1018),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* ConnectX-5 VF */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x1019) },\t\t\t/* ConnectX-5 Ex */\n> -\t{ PCI_VDEVICE(MELLANOX, 0x101a), MLX5_PCI_DEV_IS_VF},\t/* ConnectX-5 Ex VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x101a),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* ConnectX-5 Ex VF */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x101b) },\t\t\t/* ConnectX-6 */\n> -\t{ PCI_VDEVICE(MELLANOX, 0x101c), MLX5_PCI_DEV_IS_VF},\t/* ConnectX-6 VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x101c),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* ConnectX-6 VF */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x101d) },\t\t\t/* ConnectX-6 Dx */\n> -\t{ PCI_VDEVICE(MELLANOX, 0x101e), MLX5_PCI_DEV_IS_VF},\t/* ConnectX Family mlx5Gen Virtual Function */\n> +\t{ PCI_VDEVICE(MELLANOX, 0x101e),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* ConnectX Family mlx5Gen Virtual Function */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x101f) },\t\t\t/* ConnectX-6 LX */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x1021) },\t\t\t/* ConnectX-7 */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x1023) },\t\t\t/* ConnectX-8 */\n> @@ -2223,11 +2230,12 @@ static const struct pci_device_id mlx5_core_pci_table[] = {\n>   \t{ PCI_VDEVICE(MELLANOX, 0x1027) },\t\t\t/* ConnectX-10 */\n>   \t{ PCI_VDEVICE(MELLANOX, 0x2101) },\t\t\t/* ConnectX-10 NVLink-C2C */\n>   \t{ PCI_VDEVICE(MELLANOX, 0xa2d2) },\t\t\t/* BlueField integrated ConnectX-5 network controller */\n> -\t{ PCI_VDEVICE(MELLANOX, 0xa2d3), MLX5_PCI_DEV_IS_VF},\t/* BlueField integrated ConnectX-5 network controller VF */\n> +\t{ PCI_VDEVICE(MELLANOX, 0xa2d3),\n> +\t  .driver_data = MLX5_PCI_DEV_IS_VF },\t\t\t/* BlueField integrated ConnectX-5 network controller VF */\n>   \t{ PCI_VDEVICE(MELLANOX, 0xa2d6) },\t\t\t/* BlueField-2 integrated ConnectX-6 Dx network controller */\n>   \t{ PCI_VDEVICE(MELLANOX, 0xa2dc) },\t\t\t/* BlueField-3 integrated ConnectX-7 network controller */\n>   \t{ PCI_VDEVICE(MELLANOX, 0xa2df) },\t\t\t/* BlueField-4 integrated ConnectX-8 network controller */\n> -\t{ 0, }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, mlx5_core_pci_table);\n> diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c\n> index 3a65420fa1ad..1aaa75b47fe3 100644\n> --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c\n> +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c\n> @@ -5277,8 +5277,8 @@ static int mlxsw_sp_netdevice_event(struct notifier_block *nb,\n>   }\n>   \n>   static const struct pci_device_id mlxsw_sp1_pci_id_table[] = {\n> -\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM), 0},\n> -\t{0, },\n> +\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM) },\n> +\t{ },\n>   };\n>   \n>   static struct pci_driver mlxsw_sp1_pci_driver = {\n> @@ -5287,8 +5287,8 @@ static struct pci_driver mlxsw_sp1_pci_driver = {\n>   };\n>   \n>   static const struct pci_device_id mlxsw_sp2_pci_id_table[] = {\n> -\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM2), 0},\n> -\t{0, },\n> +\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM2) },\n> +\t{ },\n>   };\n>   \n>   static struct pci_driver mlxsw_sp2_pci_driver = {\n> @@ -5297,8 +5297,8 @@ static struct pci_driver mlxsw_sp2_pci_driver = {\n>   };\n>   \n>   static const struct pci_device_id mlxsw_sp3_pci_id_table[] = {\n> -\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM3), 0},\n> -\t{0, },\n> +\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM3) },\n> +\t{ },\n>   };\n>   \n>   static struct pci_driver mlxsw_sp3_pci_driver = {\n> @@ -5307,8 +5307,8 @@ static struct pci_driver mlxsw_sp3_pci_driver = {\n>   };\n>   \n>   static const struct pci_device_id mlxsw_sp4_pci_id_table[] = {\n> -\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM4), 0},\n> -\t{0, },\n> +\t{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM4) },\n> +\t{ },\n>   };\n>   \n>   static struct pci_driver mlxsw_sp4_pci_driver = {\n> diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c\n> index 26557cd32008..773fdd215a15 100644\n> --- a/drivers/net/ethernet/micrel/ksz884x.c\n> +++ b/drivers/net/ethernet/micrel/ksz884x.c\n> @@ -6839,11 +6839,9 @@ static int __maybe_unused pcidev_suspend(struct device *dev_d)\n>   static char pcidev_name[] = \"ksz884xp\";\n>   \n>   static const struct pci_device_id pcidev_table[] = {\n> -\t{ PCI_VENDOR_ID_MICREL_KS, 0x8841,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_MICREL_KS, 0x8842,\n> -\t\tPCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },\n> -\t{ 0 }\n> +\t{ PCI_VDEVICE(MICREL_KS, 0x8841) },\n> +\t{ PCI_VDEVICE(MICREL_KS, 0x8842) },\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, pcidev_table);\n> diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c\n> index 316f941629d4..70a2b0082ba8 100644\n> --- a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c\n> +++ b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c\n> @@ -17,12 +17,12 @@ static const char rnpgbe_driver_name[] = \"rnpgbe\";\n>    *   private_data (used for different hw chip) }\n>    */\n>   static struct pci_device_id rnpgbe_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210), board_n210 },\n> -\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210L), board_n210 },\n> -\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_DUAL_PORT), board_n500 },\n> -\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_QUAD_PORT), board_n500 },\n> +\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210), .driver_data = board_n210 },\n> +\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210L), .driver_data = board_n210 },\n> +\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_DUAL_PORT), .driver_data = board_n500 },\n> +\t{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_QUAD_PORT), .driver_data = board_n500 },\n>   \t/* required last entry */\n> -\t{0, },\n> +\t{ },\n>   };\n>   \n>   /**\n> diff --git a/drivers/net/ethernet/natsemi/natsemi.c b/drivers/net/ethernet/natsemi/natsemi.c\n> index b253734dbc80..35a63b78880b 100644\n> --- a/drivers/net/ethernet/natsemi/natsemi.c\n> +++ b/drivers/net/ethernet/natsemi/natsemi.c\n> @@ -248,8 +248,8 @@ static struct {\n>   };\n>   \n>   static const struct pci_device_id natsemi_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_NS, 0x0020, 0x12d9,     0x000c,     0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },\n> +\t{ PCI_VDEVICE_SUB(NS, 0x0020, 0x12d9, 0x000c), .driver_data = 0 },\n> +\t{ PCI_VDEVICE(NS, 0x0020), .driver_data = 1 },\n>   \t{ }\t/* terminate list */\n>   };\n>   MODULE_DEVICE_TABLE(pci, natsemi_pci_tbl);\n> diff --git a/drivers/net/ethernet/netronome/nfp/nfp_main.c b/drivers/net/ethernet/netronome/nfp/nfp_main.c\n> index 48390b2fd44d..e8e4b84d505a 100644\n> --- a/drivers/net/ethernet/netronome/nfp/nfp_main.c\n> +++ b/drivers/net/ethernet/netronome/nfp/nfp_main.c\n> @@ -33,39 +33,56 @@\n>   static const char nfp_driver_name[] = \"nfp\";\n>   \n>   static const struct pci_device_id nfp_pci_device_ids[] = {\n> -\t{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP3800,\n> -\t  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP3800,\n> +\t{\n> +\t\tPCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP3800,\n> +\t\t\t\tPCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP3800,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP4000,\n> +\t\t\t\tPCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP5000,\n> +\t\t\t\tPCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP6000,\n> +\t\t\t\tPCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP3800,\n> +\t\t\t\tPCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP3800,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP4000,\n> +\t\t\t\tPCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP5000,\n> +\t\t\t\tPCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP6000,\n> +\t\t\t\tPCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000,\n>   \t},\n> -\t{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP4000,\n> -\t  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000,\n> -\t},\n> -\t{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP5000,\n> -\t  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000,\n> -\t},\n> -\t{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP6000,\n> -\t  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000,\n> -\t},\n> -\t{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP3800,\n> -\t  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP3800,\n> -\t},\n> -\t{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP4000,\n> -\t  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000,\n> -\t},\n> -\t{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP5000,\n> -\t  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000,\n> -\t},\n> -\t{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP6000,\n> -\t  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000,\n> -\t},\n> -\t{ 0, } /* Required last entry. */\n> +\t{ } /* Required last entry. */\n>   };\n>   MODULE_DEVICE_TABLE(pci, nfp_pci_device_ids);\n>   \n> diff --git a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c\n> index b5646c884371..cf557e0ce011 100644\n> --- a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c\n> +++ b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c\n> @@ -38,23 +38,32 @@ struct nfp_net_vf {\n>   static const char nfp_net_driver_name[] = \"nfp_netvf\";\n>   \n>   static const struct pci_device_id nfp_netvf_pci_device_ids[] = {\n> -\t{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP3800_VF,\n> -\t  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP3800_VF,\n> +\t{\n> +\t\tPCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP3800_VF,\n> +\t\t\t\tPCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP3800_VF,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP6000_VF,\n> +\t\t\t\tPCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000_VF,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP3800_VF,\n> +\t\t\t\tPCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP3800_VF,\n> +\t}, {\n> +\t\tPCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP6000_VF,\n> +\t\t\t\tPCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),\n> +\t\t.class = PCI_ANY_ID,\n> +\t\t.class_mask = 0,\n> +\t\t.driver_data = NFP_DEV_NFP6000_VF,\n>   \t},\n> -\t{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP6000_VF,\n> -\t  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000_VF,\n> -\t},\n> -\t{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP3800_VF,\n> -\t  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP3800_VF,\n> -\t},\n> -\t{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP6000_VF,\n> -\t  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, NFP_DEV_NFP6000_VF,\n> -\t},\n> -\t{ 0, } /* Required last entry. */\n> +\t{ } /* Required last entry. */\n>   };\n>   MODULE_DEVICE_TABLE(pci, nfp_netvf_pci_device_ids);\n>   \n> diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c\n> index 39842eb73bc3..cb0ae0650905 100644\n> --- a/drivers/net/ethernet/qlogic/qede/qede_main.c\n> +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c\n> @@ -76,20 +76,20 @@ enum qede_pci_private {\n>   };\n>   \n>   static const struct pci_device_id qede_pci_tbl[] = {\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_40), QEDE_PRIVATE_PF},\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_10), QEDE_PRIVATE_PF},\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_MF), QEDE_PRIVATE_PF},\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_100), QEDE_PRIVATE_PF},\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_50), QEDE_PRIVATE_PF},\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_25), QEDE_PRIVATE_PF},\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_40), .driver_data = QEDE_PRIVATE_PF },\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_10), .driver_data = QEDE_PRIVATE_PF },\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_MF), .driver_data = QEDE_PRIVATE_PF },\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_100), .driver_data = QEDE_PRIVATE_PF },\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_50), .driver_data = QEDE_PRIVATE_PF },\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_25), .driver_data = QEDE_PRIVATE_PF },\n>   #ifdef CONFIG_QED_SRIOV\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_IOV), QEDE_PRIVATE_VF},\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_IOV), .driver_data = QEDE_PRIVATE_VF },\n>   #endif\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH), QEDE_PRIVATE_PF},\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH), .driver_data = QEDE_PRIVATE_PF },\n>   #ifdef CONFIG_QED_SRIOV\n> -\t{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH_IOV), QEDE_PRIVATE_VF},\n> +\t{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH_IOV), .driver_data = QEDE_PRIVATE_VF },\n>   #endif\n> -\t{ 0 }\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, qede_pci_tbl);\n> diff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c\n> index a8532ebd42ec..8241bcf76664 100644\n> --- a/drivers/net/ethernet/realtek/8139too.c\n> +++ b/drivers/net/ethernet/realtek/8139too.c\n> @@ -235,44 +235,44 @@ static const struct {\n>   \n>   \n>   static const struct pci_device_id rtl8139_pci_tbl[] = {\n> -\t{0x10ec, 0x8139, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x10ec, 0x8138, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1113, 0x1211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1500, 0x1360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x4033, 0x1360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1186, 0x1300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1186, 0x1340, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x13d1, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1259, 0xa117, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1259, 0xa11e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x14ea, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x14ea, 0xab07, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x11db, 0x1234, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1432, 0x9130, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x02ac, 0x1012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x018a, 0x0106, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x126c, 0x1211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x1743, 0x8139, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x021b, 0x8139, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> -\t{0x16ec, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> +\t{ PCI_DEVICE(0x10ec, 0x8139), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x10ec, 0x8138), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1113, 0x1211), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1500, 0x1360), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x4033, 0x1360), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1186, 0x1300), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1186, 0x1340), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x13d1, 0xab06), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1259, 0xa117), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1259, 0xa11e), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x14ea, 0xab06), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x14ea, 0xab07), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x11db, 0x1234), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1432, 0x9130), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x02ac, 0x1012), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x018a, 0x0106), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x126c, 0x1211), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x1743, 0x8139), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x021b, 0x8139), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE(0x16ec, 0xab06), .driver_data = RTL8139 },\n>   \n>   #ifdef CONFIG_SH_SECUREEDGE5410\n>   \t/* Bogus 8139 silicon reports 8129 without external PROM :-( */\n> -\t{0x10ec, 0x8129, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },\n> +\t{ PCI_DEVICE(0x10ec, 0x8129), .driver_data = RTL8139 },\n>   #endif\n>   #ifdef CONFIG_8139TOO_8129\n> -\t{0x10ec, 0x8129, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8129 },\n> +\t{ PCI_DEVICE(0x10ec, 0x8129), .driver_data = RTL8129 },\n>   #endif\n>   \n>   \t/* some crazy cards report invalid vendor ids like\n>   \t * 0x0001 here.  The other ids are valid and constant,\n>   \t * so we simply don't match on the main vendor id.\n>   \t */\n> -\t{PCI_ANY_ID, 0x8139, 0x10ec, 0x8139, 0, 0, RTL8139 },\n> -\t{PCI_ANY_ID, 0x8139, 0x1186, 0x1300, 0, 0, RTL8139 },\n> -\t{PCI_ANY_ID, 0x8139, 0x13d1, 0xab06, 0, 0, RTL8139 },\n> +\t{ PCI_DEVICE_SUB(PCI_ANY_ID, 0x8139, 0x10ec, 0x8139), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE_SUB(PCI_ANY_ID, 0x8139, 0x1186, 0x1300), .driver_data = RTL8139 },\n> +\t{ PCI_DEVICE_SUB(PCI_ANY_ID, 0x8139, 0x13d1, 0xab06), .driver_data = RTL8139 },\n>   \n> -\t{0,}\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE (pci, rtl8139_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c\n> index 791277e750ba..ec4fc21fa21f 100644\n> --- a/drivers/net/ethernet/realtek/r8169_main.c\n> +++ b/drivers/net/ethernet/realtek/r8169_main.c\n> @@ -229,7 +229,7 @@ static const struct pci_device_id rtl8169_pci_tbl[] = {\n>   \t{ PCI_VDEVICE(REALTEK,\t0x2502) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x2600) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8129) },\n> -\t{ PCI_VDEVICE(REALTEK,\t0x8136), RTL_CFG_NO_GBIT },\n> +\t{ PCI_VDEVICE(REALTEK,\t0x8136), .driver_data = RTL_CFG_NO_GBIT },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8161) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8162) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8167) },\n> @@ -240,15 +240,15 @@ static const struct pci_device_id rtl8169_pci_tbl[] = {\n>   \t{ PCI_VDEVICE(DLINK,\t0x4302) },\n>   \t{ PCI_VDEVICE(AT,\t0xc107) },\n>   \t{ PCI_VDEVICE(USR,\t0x0116) },\n> -\t{ PCI_VENDOR_ID_LINKSYS, 0x1032, PCI_ANY_ID, 0x0024 },\n> -\t{ 0x0001, 0x8168, PCI_ANY_ID, 0x2410 },\n> +\t{ PCI_VDEVICE_SUB(LINKSYS, 0x1032, PCI_ANY_ID, 0x0024) },\n> +\t{ PCI_DEVICE_SUB(0x0001, 0x8168, PCI_ANY_ID, 0x2410) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8125) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8126) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x8127) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x3000) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x5000) },\n>   \t{ PCI_VDEVICE(REALTEK,\t0x0e10) },\n> -\t{}\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl);\n> diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c\n> index ff6ca7b2cd4f..84a55f2b48ff 100644\n> --- a/drivers/net/ethernet/rocker/rocker_main.c\n> +++ b/drivers/net/ethernet/rocker/rocker_main.c\n> @@ -40,8 +40,8 @@\n>   static const char rocker_driver_name[] = \"rocker\";\n>   \n>   static const struct pci_device_id rocker_pci_id_table[] = {\n> -\t{PCI_VDEVICE(REDHAT, PCI_DEVICE_ID_REDHAT_ROCKER), 0},\n> -\t{0, }\n> +\t{ PCI_VDEVICE(REDHAT, PCI_DEVICE_ID_REDHAT_ROCKER) },\n> +\t{ }\n>   };\n>   \n>   struct rocker_wait {\n> diff --git a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c\n> index 12ddea514910..ed5276d492b9 100644\n> --- a/drivers/net/ethernet/sis/sis190.c\n> +++ b/drivers/net/ethernet/sis/sis190.c\n> @@ -331,9 +331,9 @@ static const struct {\n>   };\n>   \n>   static const struct pci_device_id sis190_pci_tbl[] = {\n> -\t{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 },\n> -\t{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 },\n> -\t{ 0, },\n> +\t{ PCI_VDEVICE(SI, 0x0190), .driver_data = 0 },\n> +\t{ PCI_VDEVICE(SI, 0x0191), .driver_data = 1 },\n> +\t{ },\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, sis190_pci_tbl);\n> diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c\n> index 1349ef50cd26..6e9afd9042f7 100644\n> --- a/drivers/net/ethernet/sis/sis900.c\n> +++ b/drivers/net/ethernet/sis/sis900.c\n> @@ -104,11 +104,11 @@ static const char * card_names[] = {\n>   };\n>   \n>   static const struct pci_device_id sis900_pci_tbl[] = {\n> -\t{PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_900,\n> -\t PCI_ANY_ID, PCI_ANY_ID, 0, 0, SIS_900},\n> -\t{PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_7016,\n> -\t PCI_ANY_ID, PCI_ANY_ID, 0, 0, SIS_7016},\n> -\t{0,}\n> +\t{ PCI_VDEVICE(SI, PCI_DEVICE_ID_SI_900),\n> +\t  .driver_data = SIS_900 },\n> +\t{ PCI_VDEVICE(SI, PCI_DEVICE_ID_SI_7016),\n> +\t  .driver_data = SIS_7016 },\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE (pci, sis900_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/smsc/epic100.c b/drivers/net/ethernet/smsc/epic100.c\n> index 389659db06a8..60538b7fe684 100644\n> --- a/drivers/net/ethernet/smsc/epic100.c\n> +++ b/drivers/net/ethernet/smsc/epic100.c\n> @@ -166,11 +166,19 @@ static const struct epic_chip_info pci_id_tbl[] = {\n>   \n>   \n>   static const struct pci_device_id epic_pci_tbl[] = {\n> -\t{ 0x10B8, 0x0005, 0x1092, 0x0AB4, 0, 0, SMSC_83C170_0 },\n> -\t{ 0x10B8, 0x0005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, SMSC_83C170 },\n> -\t{ 0x10B8, 0x0006, PCI_ANY_ID, PCI_ANY_ID,\n> -\t  PCI_CLASS_NETWORK_ETHERNET << 8, 0xffff00, SMSC_83C175 },\n> -\t{ 0,}\n> +\t{\n> +\t\tPCI_DEVICE_SUB(0x10B8, 0x0005, 0x1092, 0x0AB4),\n> +\t\t.driver_data = SMSC_83C170_0,\n> +\t}, {\n> +\t\tPCI_DEVICE(0x10B8, 0x0005),\n> +\t\t.driver_data = SMSC_83C170,\n> +\t}, {\n> +\t\tPCI_DEVICE(0x10B8, 0x0006),\n> +\t\t.class = PCI_CLASS_NETWORK_ETHERNET << 8,\n> +\t\t.class_mask = 0xffff00,\n> +\t\t.driver_data = SMSC_83C175,\n> +\t},\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE (pci, epic_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c\n> index fe00e7dd3fe4..823870c999bf 100644\n> --- a/drivers/net/ethernet/sun/cassini.c\n> +++ b/drivers/net/ethernet/sun/cassini.c\n> @@ -218,11 +218,9 @@ static u16 link_modes[] = {\n>   };\n>   \n>   static const struct pci_device_id cas_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_CASSINI,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SATURN,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ 0, }\n> +\t{ PCI_VDEVICE(SUN, PCI_DEVICE_ID_SUN_CASSINI) },\n> +\t{ PCI_VDEVICE(NS, PCI_DEVICE_ID_NS_SATURN) },\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, cas_pci_tbl);\n> diff --git a/drivers/net/ethernet/sun/sungem.c b/drivers/net/ethernet/sun/sungem.c\n> index 8e69d917d827..234ffc3c6a61 100644\n> --- a/drivers/net/ethernet/sun/sungem.c\n> +++ b/drivers/net/ethernet/sun/sungem.c\n> @@ -85,8 +85,7 @@ MODULE_LICENSE(\"GPL\");\n>   #define GEM_MODULE_NAME\t\"gem\"\n>   \n>   static const struct pci_device_id gem_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_GEM,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> +\t{ PCI_VDEVICE(SUN, PCI_DEVICE_ID_SUN_GEM) },\n>   \n>   \t/* These models only differ from the original GEM in\n>   \t * that their tx/rx fifos are of a different size and\n> @@ -95,21 +94,14 @@ static const struct pci_device_id gem_pci_tbl[] = {\n>   \t * Apple's GMAC does support gigabit on machines with\n>   \t * the BCM54xx PHYs. -BenH\n>   \t */\n> -\t{ PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_RIO_GEM,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMACP,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC2,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_GMAC,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_SUNGEM,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID2_GMAC,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },\n> -\t{0, }\n> +\t{ PCI_VDEVICE(SUN, PCI_DEVICE_ID_SUN_RIO_GEM) },\n> +\t{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC) },\n> +\t{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMACP) },\n> +\t{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC2) },\n> +\t{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_K2_GMAC) },\n> +\t{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_SH_SUNGEM) },\n> +\t{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_IPID2_GMAC) },\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, gem_pci_tbl);\n> diff --git a/drivers/net/ethernet/ti/tlan.c b/drivers/net/ethernet/ti/tlan.c\n> index a55b0f951181..274a1837025c 100644\n> --- a/drivers/net/ethernet/ti/tlan.c\n> +++ b/drivers/net/ethernet/ti/tlan.c\n> @@ -119,33 +119,20 @@ static struct board {\n>   };\n>   \n>   static const struct pci_device_id tlan_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3I,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_THUNDER,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3B,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100PI,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100D,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100I,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7 },\n> -\t{ PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2183,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 },\n> -\t{ PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2325,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9 },\n> -\t{ PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2326,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11 },\n> -\t{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_T2,\n> -\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12 },\n> -\t{ 0,}\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10), .driver_data = 0 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100), .driver_data = 1 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3I), .driver_data = 2 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_THUNDER), .driver_data = 3 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3B), .driver_data = 4 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100PI), .driver_data = 5 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100D), .driver_data = 6 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100I), .driver_data = 7 },\n> +\t{ PCI_VDEVICE(OLICOM, PCI_DEVICE_ID_OLICOM_OC2183), .driver_data = 8 },\n> +\t{ PCI_VDEVICE(OLICOM, PCI_DEVICE_ID_OLICOM_OC2325), .driver_data = 9 },\n> +\t{ PCI_VDEVICE(OLICOM, PCI_DEVICE_ID_OLICOM_OC2326), .driver_data = 10 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100), .driver_data = 11 },\n> +\t{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_T2), .driver_data = 12 },\n> +\t{ }\n>   };\n>   MODULE_DEVICE_TABLE(pci, tlan_pci_tbl);\n>   \n> diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c\n> index d8e3827a8b1f..d51d8db95a76 100644\n> --- a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c\n> +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c\n> @@ -30,20 +30,20 @@ char ngbe_driver_name[] = \"ngbe\";\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id ngbe_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL_W), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860LC), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1L), 0},\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL_W) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860LC) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1L) },\n>   \t/* required last entry */\n> -\t{ .device = 0 }\n> +\t{ }\n>   };\n>   \n>   /**\n> diff --git a/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c b/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c\n> index 6ef43adcc425..d79cf8d8484f 100644\n> --- a/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c\n> +++ b/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c\n> @@ -26,20 +26,20 @@\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id ngbevf_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL_W), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4S), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860NCSI), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A1), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL1), 0},\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL_W) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4S) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860NCSI) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A1) },\n> +\t{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL1) },\n>   \t/* required last entry */\n> -\t{ .device = 0 }\n> +\t{ }\n>   };\n>   \n>   static const struct net_device_ops ngbevf_netdev_ops = {\n> diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c\n> index 8b7c3753bb6a..4c549c2644ab 100644\n> --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c\n> +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c\n> @@ -37,16 +37,16 @@ char txgbe_driver_name[] = \"txgbe\";\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id txgbe_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_SP1000), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_WX1820), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5010), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5110), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5025), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5125), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5040), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5140), 0},\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_SP1000) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_WX1820) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5010) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5110) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5025) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5125) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5040) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5140) },\n>   \t/* required last entry */\n> -\t{ .device = 0 }\n> +\t{ }\n>   };\n>   \n>   #define DEFAULT_DEBUG_LEVEL_SHIFT 3\n> diff --git a/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c b/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c\n> index 37e4ec487afd..8b16b900820a 100644\n> --- a/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c\n> +++ b/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c\n> @@ -26,16 +26,16 @@\n>    *   Class, Class Mask, private data (not used) }\n>    */\n>   static const struct pci_device_id txgbevf_pci_tbl[] = {\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_SP1000), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_WX1820), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML500F), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML510F), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5024), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5124), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML503F), 0},\n> -\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML513F), 0},\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_SP1000) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_WX1820) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML500F) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML510F) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5024) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5124) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML503F) },\n> +\t{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML513F) },\n>   \t/* required last entry */\n> -\t{ .device = 0 }\n> +\t{ }\n>   };\n>   \n>   static const struct net_device_ops txgbevf_netdev_ops = {\n> diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c\n> index 73f393900710..6508c53bdc24 100644\n> --- a/drivers/net/wan/farsync.c\n> +++ b/drivers/net/wan/farsync.c\n> @@ -524,27 +524,21 @@ do {\t\t\t\t\t\t\t\t\\\n>   /*      PCI ID lookup table\n>    */\n>   static const struct pci_device_id fst_pci_dev_id[] = {\n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T2P, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_T2P},\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T2P), .driver_data = FST_TYPE_T2P },\n>   \n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T4P, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_T4P},\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T4P), .driver_data = FST_TYPE_T4P },\n>   \n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T1U, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_T1U},\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T1U), .driver_data = FST_TYPE_T1U },\n>   \n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T2U, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_T2U},\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T2U), .driver_data = FST_TYPE_T2U },\n>   \n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T4U, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_T4U},\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T4U), .driver_data = FST_TYPE_T4U },\n>   \n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_TE1, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_TE1},\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_TE1), .driver_data = FST_TYPE_TE1 },\n>   \n> -\t{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_TE1C, PCI_ANY_ID,\n> -\t PCI_ANY_ID, 0, 0, FST_TYPE_TE1},\n> -\t{0,}\t\t\t/* End */\n> +\t{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_TE1C), .driver_data = FST_TYPE_TE1 },\n> +\n> +\t{ }\t\t\t/* End */\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, fst_pci_dev_id);\n> diff --git a/drivers/net/wan/pc300too.c b/drivers/net/wan/pc300too.c\n> index 7e57d289b62c..a91564e53caa 100644\n> --- a/drivers/net/wan/pc300too.c\n> +++ b/drivers/net/wan/pc300too.c\n> @@ -461,15 +461,11 @@ static int pc300_pci_init_one(struct pci_dev *pdev,\n>   }\n>   \n>   static const struct pci_device_id pc300_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_RX_1, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_RX_2, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_TE_1, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_TE_2, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ 0, }\n> +\t{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_RX_1) },\n> +\t{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_RX_2) },\n> +\t{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_TE_1) },\n> +\t{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_TE_2) },\n> +\t{ }\n>   };\n>   \n>   static struct pci_driver pc300_pci_driver = {\n> diff --git a/drivers/net/wan/pci200syn.c b/drivers/net/wan/pci200syn.c\n> index 89f4b4584a33..9503130fd9a8 100644\n> --- a/drivers/net/wan/pci200syn.c\n> +++ b/drivers/net/wan/pci200syn.c\n> @@ -397,9 +397,9 @@ static int pci200_pci_init_one(struct pci_dev *pdev,\n>   }\n>   \n>   static const struct pci_device_id pci200_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, PCI_VENDOR_ID_PLX,\n> -\t  PCI_DEVICE_ID_PLX_PCI200SYN, 0, 0, 0 },\n> -\t{ 0, }\n> +\t{ PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9050,\n> +\t\t\t  PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_PCI200SYN) },\n> +\t{ }\n>   };\n>   \n>   static struct pci_driver pci200_pci_driver = {\n> diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c\n> index 3f7707118450..d4da88c77112 100644\n> --- a/drivers/net/wan/wanxl.c\n> +++ b/drivers/net/wan/wanxl.c\n> @@ -806,13 +806,10 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,\n>   }\n>   \n>   static const struct pci_device_id wanxl_pci_tbl[] = {\n> -\t{ PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_SBE_WANXL100, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_SBE_WANXL200, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_SBE_WANXL400, PCI_ANY_ID,\n> -\t  PCI_ANY_ID, 0, 0, 0 },\n> -\t{ 0, }\n> +\t{ PCI_VDEVICE(SBE, PCI_DEVICE_ID_SBE_WANXL100) },\n> +\t{ PCI_VDEVICE(SBE, PCI_DEVICE_ID_SBE_WANXL200) },\n> +\t{ PCI_VDEVICE(SBE, PCI_DEVICE_ID_SBE_WANXL400) },\n> +\t{ }\n>   };\n>   \n>   static struct pci_driver wanxl_pci_driver = {\n> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c\n> index 45b342ea0637..13662aa4b4ea 100644\n> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c\n> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c\n> @@ -2708,17 +2708,18 @@ static const struct dev_pm_ops brcmf_pciedrvr_pm = {\n>   \n>   #define BRCMF_PCIE_DEVICE(dev_id, fw_vend) \\\n>   \t{ \\\n> -\t\tBRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id), \\\n> -\t\tPCI_ANY_ID, PCI_ANY_ID, \\\n> -\t\tPCI_CLASS_NETWORK_OTHER << 8, 0xffff00, \\\n> -\t\tBRCMF_DRVDATA_ ## fw_vend \\\n> +\t\tPCI_DEVICE(BRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id)), \\\n> +\t\t.class = PCI_CLASS_NETWORK_OTHER << 8, \\\n> +\t\t.class_mask = 0xffff00, \\\n> +\t\t.driver_data = BRCMF_DRVDATA_ ## fw_vend, \\\n>   \t}\n>   #define BRCMF_PCIE_DEVICE_SUB(dev_id, subvend, subdev, fw_vend) \\\n>   \t{ \\\n> -\t\tBRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id), \\\n> -\t\t(subvend), (subdev), \\\n> -\t\tPCI_CLASS_NETWORK_OTHER << 8, 0xffff00, \\\n> -\t\tBRCMF_DRVDATA_ ## fw_vend \\\n> +\t\tPCI_DEVICE_SUB(BRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id), \\\n> +\t\t\t       (subvend), (subdev)), \\\n> +\t\t.class = PCI_CLASS_NETWORK_OTHER << 8, \\\n> +\t\t.class_mask = 0xffff00, \\\n> +\t\t.driver_data = BRCMF_DRVDATA_ ## fw_vend, \\\n>   \t}\n>   \n>   static const struct pci_device_id brcmf_pcie_devid_table[] = {\n> diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c\n> index dd64d21174e3..4bc9bb406e8e 100644\n> --- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c\n> +++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c\n> @@ -11366,37 +11366,41 @@ static int ipw_wdev_init(struct net_device *dev)\n>   \n>   /* PCI driver stuff */\n>   static const struct pci_device_id card_ids[] = {\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2701, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2702, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2711, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2712, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2721, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2722, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2731, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2732, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2741, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x103c, 0x2741, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2742, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2751, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2752, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2753, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2754, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2761, 0, 0, 0},\n> -\t{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2762, 0, 0, 0},\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2701) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2702) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2711) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2712) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2721) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2722) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2731) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2732) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2741) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x103c, 0x2741) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2742) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2751) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2752) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2753) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2754) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2761) },\n> +\t{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2762) },\n> +\n>   \t/*\n>   \t * This ID conflicts with i40e, but the devices can be differentiated\n>   \t * because i40e devices use PCI_CLASS_NETWORK_ETHERNET and ipw2200\n>   \t * devices use PCI_CLASS_NETWORK_OTHER.\n>   \t */\n> -\t{PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x104f),\n> -\t\tPCI_CLASS_NETWORK_OTHER << 8, 0xffff00, 0},\n> -\t{PCI_VDEVICE(INTEL, 0x4220), 0},\t/* BG */\n> -\t{PCI_VDEVICE(INTEL, 0x4221), 0},\t/* BG */\n> -\t{PCI_VDEVICE(INTEL, 0x4223), 0},\t/* ABG */\n> -\t{PCI_VDEVICE(INTEL, 0x4224), 0},\t/* ABG */\n> +\t{\n> +\t\tPCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x104f),\n> +\t\t.class = PCI_CLASS_NETWORK_OTHER << 8,\n> +\t\t.class_mask = 0xffff00,\n> +\t},\n> +\t{ PCI_VDEVICE(INTEL, 0x4220) },\t/* BG */\n> +\t{ PCI_VDEVICE(INTEL, 0x4221) },\t/* BG */\n> +\t{ PCI_VDEVICE(INTEL, 0x4223) },\t/* ABG */\n> +\t{ PCI_VDEVICE(INTEL, 0x4224) },\t/* ABG */\n>   \n>   \t/* required last entry */\n> -\t{0,}\n> +\t{ }\n>   };\n>   \n>   MODULE_DEVICE_TABLE(pci, card_ids);\n>\n> base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=LIhHTWk4;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cJ2jMWz1yJr\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:36 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 246DC42BE6;\n\tThu, 30 Apr 2026 16:53:33 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id d13Zp8FLp4Sy; Thu, 30 Apr 2026 16:53:29 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 4F27D42BCD;\n\tThu, 30 Apr 2026 16:53:29 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])\n by lists1.osuosl.org (Postfix) with ESMTP id 24EEF18E\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 07:13:12 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 002CC405F1\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 07:13:12 +0000 (UTC)","from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id zBl0DdRTLKWp for <intel-wired-lan@lists.osuosl.org>;\n Thu, 30 Apr 2026 07:13:09 +0000 (UTC)","from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187])\n by smtp2.osuosl.org (Postfix) with ESMTPS id 07B48405D8\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 07:13:05 +0000 (UTC)","from canpmsgout08.his.huawei.com (unknown [172.19.92.156])\n by szxga01-in.huawei.com (SkyGuard) with ESMTPS id 4g5lJ81l2Fz1BFtx\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 14:53:44 +0800 (CST)","from mail.maildlp.com (unknown [172.19.163.127])\n by canpmsgout08.his.huawei.com (SkyGuard) with ESMTPS id 4g5l8W6lSYzmV6M;\n Thu, 30 Apr 2026 14:47:07 +0800 (CST)","from kwepemk100013.china.huawei.com (unknown [7.202.194.61])\n by mail.maildlp.com (Postfix) with ESMTPS id B51A4402AB;\n Thu, 30 Apr 2026 14:53:36 +0800 (CST)","from [10.67.120.192] (10.67.120.192) by\n kwepemk100013.china.huawei.com (7.202.194.61) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.1544.36; Thu, 30 Apr 2026 14:53:30 +0800"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 4F27D42BCD","OpenDKIM Filter v2.11.0 smtp2.osuosl.org 07B48405D8"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568009;\n\tbh=05r6ygc0aM0xPBI/kpyZ691Tihdz4BjQ6ReZQpJk8tI=;\n\th=Date:To:References:From:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=LIhHTWk46jhAHDi9MiCnnCrbC28fUI5A803UR+sKUffhegqItXnf/x6R66tE52sak\n\t 6Ht8lIb8QOlr1pU4UqVbiM/RKEWR/IyTDHwJHm5PckyenSiERW6xl2X/Qt0rWNmAxI\n\t 8qQ8LoIBxGzKqusfdmG78qjZUck34Y8w0oEdHZ+uWeCyDaUHWY6tIiH3k2k0r74wmz\n\t jY/BCpfAv7jmbRApWa59tHT0F0yaFROi5hNv2Km6kuvLrxit7rekzMR8rcQatAeozT\n\t m2g6tb0EJzyAUnTp69iWLULTAQzwAYjVyFlf/1qqDtuSk1Jqqhn11SDTqkso2VQmcX\n\t 6E8yLlkpx7yGw==","X-Greylist":"delayed 1150 seconds by postgrey-1.37 at util1.osuosl.org;\n Thu, 30 Apr 2026 07:13:05 UTC","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp2.osuosl.org 07B48405D8","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=45.249.212.187;\n helo=szxga01-in.huawei.com; envelope-from=shaojijie@huawei.com;\n receiver=<UNKNOWN>","Message-ID":"<814632c8-070b-4b21-adbb-5a01a62d52f2@huawei.com>","Date":"Thu, 30 Apr 2026 14:53:29 +0800","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Andrew Lunn <andrew+netdev@lunn.ch>, \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Marc Kleine-Budde <mkl@pengutronix.de>,\n Vincent Mailhol <mailhol@kernel.org>, Krzysztof Halasa <khc@pm.waw.pl>,\n Johannes Berg <johannes@sipsolutions.net>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","From":"Jijie Shao <shaojijie@huawei.com>","In-Reply-To":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","Content-Type":"text/plain; charset=\"UTF-8\"; format=flowed","Content-Transfer-Encoding":"8bit","X-Originating-IP":"[10.67.120.192]","X-ClientProxiedBy":"kwepems500001.china.huawei.com (7.221.188.70) To\n kwepemk100013.china.huawei.com (7.202.194.61)","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":["v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n c=relaxed/relaxed; q=dns/txt; h=From;\n bh=05r6ygc0aM0xPBI/kpyZ691Tihdz4BjQ6ReZQpJk8tI=;\n b=GquJ6xor8THuVXMYtrt48pwdgQtq5pA/N2qq6iqSXqW8+bVCchQR+J+3PgNxU6sVVevw7/gKl\n SGe9TZtCfvYozuLu61VdSw8fwf8qYI+3q6VT9p1BYdoVpmGEpQd0nGLR2fRLOLqpIqVDwBqBCYx\n cSPAhAFPK1Giq2zNX4fmL2k=","v=1; a=rsa-sha256; d=huawei.com; s=dkim;\n c=relaxed/relaxed; q=dns/txt; h=From;\n bh=05r6ygc0aM0xPBI/kpyZ691Tihdz4BjQ6ReZQpJk8tI=;\n b=GquJ6xor8THuVXMYtrt48pwdgQtq5pA/N2qq6iqSXqW8+bVCchQR+J+3PgNxU6sVVevw7/gKl\n SGe9TZtCfvYozuLu61VdSw8fwf8qYI+3q6VT9p1BYdoVpmGEpQd0nGLR2fRLOLqpIqVDwBqBCYx\n cSPAhAFPK1Giq2zNX4fmL2k="],"X-Mailman-Original-Authentication-Results":["smtp2.osuosl.org;\n dmarc=pass (p=quarantine dis=none)\n header.from=huawei.com","smtp2.osuosl.org;\n dkim=pass (1024-bit key,\n unprotected) header.d=huawei.com header.i=@huawei.com\n header.a=rsa-sha256 header.s=dkim header.b=GquJ6xor;\n dkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com\n header.a=rsa-sha256 header.s=dkim header.b=GquJ6xor"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Yonglong Liu <liuyonglong@huawei.com>, Kees Cook <kees@kernel.org>,\n linux-wireless@vger.kernel.org, Larysa Zaremba <larysa.zaremba@intel.com>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n oss-drivers@corigine.com, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Marco Crivellari <marco.crivellari@suse.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n shaojijie@huawei.com, Andy Shevchenko <andriy.shevchenko@intel.com>,\n Leon Romanovsky <leon@kernel.org>, Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Peiyang Wang <wangpeiyang1@huawei.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>,\n Mengyuan Lou <mengyuanlou@net-swift.com>,\n Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Philipp Stanner <phasta@kernel.org>,\n Chi-hsien Lin <chi-hsien.lin@cypress.com>, Ido Schimmel <idosch@nvidia.com>,\n Potnuri Bharat Teja <bharat@chelsio.com>, Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Cai Huoqing <cai.huoqing@linux.dev>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Joe Damato <joe@dama.to>,\n Petr Machata <petrm@nvidia.com>, Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com, GR-Linux-NIC-Dev@marvell.com,\n Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Manish Chopra <manishc@marvell.com>, Denis Benato <benato.denis96@gmail.com>,\n Rasesh Mody <rmody@marvell.com>, netdev@vger.kernel.org,\n Randy Dunlap <rdunlap@infradead.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n Jian Shen <shenjian15@huawei.com>, Ion Badulescu <ionut@badula.org>,\n Yeounsu Moon <yyyynoom@gmail.com>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n Mark Einon <mark.einon@gmail.com>,\n Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Saeed Mahameed <saeedm@nvidia.com>, Sudarsana Kalluru <skalluru@marvell.com>,\n Heiner Kallweit <hkallweit1@gmail.com>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684850,"web_url":"http://patchwork.ozlabs.org/comment/3684850/","msgid":"<afHbcwzVucHRYmDW@monoceros>","list_archive_url":null,"date":"2026-04-29T10:26:32","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":88686,"url":"http://patchwork.ozlabs.org/api/people/88686/","name":"Uwe Kleine-König (The Capable Hub)","email":"u.kleine-koenig@baylibre.com"},"content":"[I dropped a few addresses from Cc: that bounced for me before.]\n\nHello Andy,\n\nOn Wed, Apr 29, 2026 at 09:54:54AM +0300, Andy Shevchenko wrote:\n> On Tue, Apr 28, 2026 at 07:18:44PM +0200, Uwe Kleine-König (The Capable Hub) wrote:\n> > ... and PCI device helpers.\n> > \n> > The various struct pci_device_id arrays were initialized mostly by one\n> > the PCI_DEVICE macros and then list expressions. The latter isn't easily\n> > readable if you're not into PCI. Using named initializers is more\n> > explicit and thus easier to parse.\n> > \n> > Also use PCI_DEVICE* helper macros to assign .vendor, .device,\n> > .subvendor and .subdevice where appropriate and skip explicit\n> > assignments of 0 (which the compiler takes care of).\n> > \n> > The secret plan is to make struct pci_device_id::driver_data an\n> > anonymous union (similar to\n> > https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\n> > and that requires named initializers. But it's also a nice cleanup on\n> > its own.\n> > \n> > This change doesn't introduce changes to the compiled pci_device_id\n> > arrays. Tested on x86 and arm64.\n> \n> ...\n> \n> > -\t{0,}\t\t\t\t\t\t/* 0 terminated list. */\n> > +\t{ }\t\t\t\t\t\t/* 0 terminated list. */\n> \n> The comments like these are just noises.\n\nAgreed, but I'd consider it out of scope for this patch to drop these\ncomments. That might also be subjective.\n\n> The rule of thumb is to play with a\n> trailing comma:\n> - always drop it in the terminator entry\n> - always keep it in the normal initialisers when semantically it's not a\n> terminator\n\nThat was my intention. Will rework.\n\n> >  static const struct pci_device_id liquidio_pci_tbl[] = {\n> >  \t{       /* 68xx */\n> > -\t\tPCI_VENDOR_ID_CAVIUM, 0x91, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n> > +\t\tPCI_VDEVICE(CAVIUM, 0x91)\n> \n> Use full fixed-width device id value(s). 0x0091 here and so on...\n\nSounds fair.\n\n> >  \t},\n> \n> Also seems that you may decrease number of LoC here putting it as\n> \n> \t{ PCI_VDEVICE(CAVIUM, 0x0091) }, /* 68xx */\n> \n> and so on...\n\nAgreed if all lines of an array can be compressed like that.\n\n> >  \t{       /* 66xx */\n> > -\t\tPCI_VENDOR_ID_CAVIUM, 0x92, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n> > +\t\tPCI_VDEVICE(CAVIUM, 0x92)\n> >  \t},\n> >  \t{       /* 23xx pf */\n> > -\t\tPCI_VENDOR_ID_CAVIUM, 0x9702, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n> > +\t\tPCI_VDEVICE(CAVIUM, 0x9702)\n> >  \t},\n> > -\t{\n> > -\t\t0, 0, 0, 0, 0, 0, 0\n> > -\t}\n> > +\t{ }\n> >  };\n> \n> ...\n> \n> >  #define CH_PCI_DEVICE_ID_TABLE_DEFINE_END \\\n> > -\t\t{ 0, } \\\n> > +\t\t{ } \\\n> >  \t}\n> \n> Why do we have this macro at all?\n\nOver engineering? Reworking that also seems to be out of scope for this\npatch to me.\n\n> Also I somehow managed to remove, but I remember you had an inner comma in some\n> cases after the .driver_data, when the full ID entry is located on a single\n> line. I.o.w. do\n> \n> \t{ PCI_...(), .driver_data = ... // no trailing comma here! },\n\nThat was also my intention. Will rework.\n\nBest regards\nUwe","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=f4W4BBt0;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cJ6bFcz1yK1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:36 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 440CD84EB8;\n\tThu, 30 Apr 2026 16:53:31 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id gvlCHGgLjfbk; Thu, 30 Apr 2026 16:53:28 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 1831F84EB3;\n\tThu, 30 Apr 2026 16:53:28 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id E3160231\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 10:26:41 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id C7E9A6119E\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 10:26:41 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id YN__tOByw6k6 for <intel-wired-lan@lists.osuosl.org>;\n Wed, 29 Apr 2026 10:26:39 +0000 (UTC)","from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com\n [IPv6:2a00:1450:4864:20::32c])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 459E960ECF\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 10:26:37 +0000 (UTC)","by mail-wm1-x32c.google.com with SMTP id\n 5b1f17b1804b1-488a9033b2cso129676205e9.2\n for <intel-wired-lan@lists.osuosl.org>; Wed, 29 Apr 2026 03:26:37 -0700 (PDT)","from localhost\n (p200300f65f114e08936c55da887fa426.dip0.t-ipconnect.de.\n [2003:f6:5f11:4e08:936c:55da:887f:a426])\n by smtp.gmail.com with UTF8SMTPSA id\n 5b1f17b1804b1-48a7b912ee3sm28053445e9.2.2026.04.29.03.26.32\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 29 Apr 2026 03:26:33 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org 1831F84EB3","OpenDKIM Filter v2.11.0 smtp3.osuosl.org 459E960ECF"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568008;\n\tbh=mfvKfJJPf0ASmalSXv+63KXtxyjY0rmQCt/O1qy7v1U=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=f4W4BBt0OajkhdlBI5TkjfsO3qIcmZnShDYurtDtLmAFRK5+7PpyeW4ckZuoE8hYH\n\t I1p3pg5C/0O3i4zwzOAGRtBaJqxK/x1fjFFSUh2s6CQS91i6Qr0POKPcwjc0dVtKRq\n\t gQgl0HaB/vD941EATpsBJLhbICV6irU3AcYjXO/tIRXg6tWHu4oPW39JJrS1R2iGnK\n\t 0ilvmE5g6dAFl+sNfHNG1wzCyP4gmq/4q9I6AWW4eSigs94Tai6nxBccBboXD6aJDw\n\t CQCWhZY0wSjEXYMrbvQFW2+wvRalGXmQ6QnsA+Kx13kmz5qZnj5E5mGD3UEZIuu/fI\n\t sSx5oKshys0ig==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::32c; helo=mail-wm1-x32c.google.com;\n envelope-from=ukleinek@baylibre.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org 459E960ECF","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777458395; x=1778063195;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=mfvKfJJPf0ASmalSXv+63KXtxyjY0rmQCt/O1qy7v1U=;\n b=c2JfQeK5kTe1Y+xJTWSd41EU3n+UlxUxyxqW4oWgTAeixFnrviVT8GINKUrvWcig5E\n k4mLZgtCcpqfPlJLSw+j2XxWBVaReVD+CL8Dhuk6unz6KvFFAJ39f76Pg3fYy/V7c76G\n V07NPXWgfWgrcHNJnjY1TjYUFOPdrmOX9yABvavIpD0dTFMd2u1ksJREiHQdCslU3grD\n 1vjoRGbOqpTAkZKWUXtEuUPB3pCMLyIfyNxQhDgv+4ZVrLk2BGW8EWz/a8TmxwKwYCNE\n 59RJAo4Jc7e16SDqix8+oQtEaLb6Gfzxu1nkP8rjjLk3Qkzn8vNHABDg7vxIkFWdswQl\n 2Slw==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+1Vw/JG6TUhdM5oSB/iA0yWxFFTQCJOn6z2+IuvumpbjyhSXKuHd5umBxB/MBOcwgmY+JNjnEHwop4hpNa7H4=@lists.osuosl.org","X-Gm-Message-State":"AOJu0Yy2hAdwB+ggVVH9pjozIfySBQZgiOG/15Q5KbduCfQbZLL4cn3a\n VST+IRMAE2+rTbrvaGg/UTwIlonjrxhHzylsFZNlm6z9LZNooeJBVzmlxzf1rp/Jpeo=","X-Gm-Gg":"AeBDievi+BOewP/lmnFcl88lqjGAkMLYpTfFKuppXoeRrDMko1CGOR5k+sfkRYUVylF\n IFPnR/rAHQ9EQeA4tgWsccYGVxcKHiBrqCjO6hIsMRn/UqI9ucmv9p57W3vBLAAl1I/z3UTOxoj\n 2tK3aTuFhuBVmeiborLYQMesvC9dGZsTqhh3ZPyB5QJ0yOXDMWou/ynYfHQxeZ4Dc9A5vj+cZJp\n WlwWH0EJ0JMPhpnRFahfr4XBhdIy7RJd1QnZBSi9mMLNKNOGna+nseCtOqaiEe0WlfD4j59+6hH\n tkcq5tL3dL49eJY/BJKojJrA8eCQcf2jBpkqcEWGC9CLA4XP9qgQuaeevIXxQXA4QyNF0zijr+L\n UO95YBJYi1lOOJHolxns/EIrlyVEwtSnRWxN2DvcMf+iYpxbB+AMLnKg5C087SZxrqcAuc+jLg5\n GkvtuLbQ85tMdVY2TE+cRHAHprXInws0Br1p1P3wD5E/TkZZRpLOrOzp4OMzb9w8dbeJkERlpbj\n 0U3ncUmcXruEen7GOEvywghcw==","X-Received":"by 2002:a05:600d:8402:b0:489:149a:f9e7 with SMTP id\n 5b1f17b1804b1-48a77b25340mr88922285e9.27.1777458393898;\n Wed, 29 Apr 2026 03:26:33 -0700 (PDT)","Date":"Wed, 29 Apr 2026 12:26:32 +0200","From":"Uwe =?utf-8?q?Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","To":"Andy Shevchenko <andriy.shevchenko@intel.com>","Message-ID":"<afHbcwzVucHRYmDW@monoceros>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>\n <afGrPvUeZ-DjWbC8@ashevche-desk.local>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n protocol=\"application/pgp-signature\"; boundary=\"k4r3nmtfjdpszuus\"","Content-Disposition":"inline","In-Reply-To":"<afGrPvUeZ-DjWbC8@ashevche-desk.local>","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777458395;\n x=1778063195;\n darn=lists.osuosl.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=mfvKfJJPf0ASmalSXv+63KXtxyjY0rmQCt/O1qy7v1U=;\n b=B1HjytEFUrAHzKDx4QFG1YmOF0HexxWJsZKxUKd2RhnRITKY3P54T45kYpoGfUQTdq\n l8q0PMXW2o+84C1T8DHA57stMYsewz2Te+dmd2P6Ek9N2ggRrHJbXsw1g4SfggZpCoZP\n oOchcUJvsMQQu0gKpDglJz4+MZA1cTJofY+s2X7zxYcdooP+6spWhMBH288VeVxQqcZ9\n osbIePGtbzHnxMgobiIfyEufrGBsXhzUSAN69pmKmnjfYXQWSAgEcnjql1kSjLFt4bLm\n 4+sWnCXhcKqebi64AZEMa82i+fipa2j2gcpp+ME9RCizfpy8aSXEMbvZY46s9lZWMT+O\n 0RNg==","X-Mailman-Original-Authentication-Results":["smtp3.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=baylibre.com","smtp3.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=B1HjytEF"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Cai Huoqing <cai.huoqing@linux.dev>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n Eric Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>,\n Richard Cochran <richardcochran@gmail.com>,\n Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>,\n Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Philipp Stanner <phasta@kernel.org>,\n Ido Schimmel <idosch@nvidia.com>, Potnuri Bharat Teja <bharat@chelsio.com>,\n Double Lo <double.lo@cypress.com>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n Nathan Chancellor <nathan@kernel.org>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Marc Kleine-Budde <mkl@pengutronix.de>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, linux-can@vger.kernel.org,\n Yibo Dong <dong100@mucse.com>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Petr Machata <petrm@nvidia.com>, Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com, GR-Linux-NIC-Dev@marvell.com,\n Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>,\n Denis Benato <benato.denis96@gmail.com>, Rasesh Mody <rmody@marvell.com>,\n netdev@vger.kernel.org, oss-drivers@corigine.com,\n Vincent Mailhol <mailhol@kernel.org>, Mark Bloch <mbloch@nvidia.com>,\n linux-kernel@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,\n Jian Shen <shenjian15@huawei.com>, Jijie Shao <shaojijie@huawei.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>, Thomas Gleixner <tglx@kernel.org>,\n Simon Horman <horms@kernel.org>, Yicong Hui <yiconghui@gmail.com>,\n Mark Einon <mark.einon@gmail.com>, Johannes Berg <johannes@sipsolutions.net>,\n Heiner Kallweit <hkallweit1@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>,\n \"David S. Miller\" <davem@davemloft.net>, Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3684851,"web_url":"http://patchwork.ozlabs.org/comment/3684851/","msgid":"<afNVhCLPqPf-OKK3@monoceros>","list_archive_url":null,"date":"2026-04-30T13:15:07","subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","submitter":{"id":88686,"url":"http://patchwork.ozlabs.org/api/people/88686/","name":"Uwe Kleine-König (The Capable Hub)","email":"u.kleine-koenig@baylibre.com"},"content":"Hello Markus,\n\nOn Thu, Apr 30, 2026 at 10:55:14AM +0200, Markus Schneider-Pargmann wrote:\n> On Tue Apr 28, 2026 at 7:18 PM CEST, Uwe Kleine-König (The Capable Hub) wrote:\n> > diff --git a/drivers/net/can/m_can/m_can_pci.c b/drivers/net/can/m_can/m_can_pci.c\n> > index eb31ed1f9644..cb9335c1d3ea 100644\n> > --- a/drivers/net/can/m_can/m_can_pci.c\n> > +++ b/drivers/net/can/m_can/m_can_pci.c\n> > @@ -183,9 +183,9 @@ static SIMPLE_DEV_PM_OPS(m_can_pci_pm_ops,\n> >  \t\t\t m_can_pci_suspend, m_can_pci_resume);\n> >  \n> >  static const struct pci_device_id m_can_pci_id_table[] = {\n> > -\t{ PCI_VDEVICE(INTEL, 0x4bc1), M_CAN_CLOCK_FREQ_EHL, },\n> > -\t{ PCI_VDEVICE(INTEL, 0x4bc2), M_CAN_CLOCK_FREQ_EHL, },\n> > -\t{  }\t/* Terminating Entry */\n> > +\t{ PCI_VDEVICE(INTEL, 0x4bc1), .driver_data = M_CAN_CLOCK_FREQ_EHL, },\n> > +\t{ PCI_VDEVICE(INTEL, 0x4bc2), .driver_data = M_CAN_CLOCK_FREQ_EHL, },\n> > +\t{ }\t/* terminating entry */\n> \n> M_CAN_CLOCK_FREQ_EHL is basically hardcoded for all PCI devices since\n> 2020. I don't think we need this driver data at all and can just drop it\n> and use M_CAN_CLOCK_FREQ_EHL directly in the code for the frequency.\n> Once a real new PCI device gets added we can see if and what driver_data\n> is needed.\n\nSounds like a nice *separate* change, right?\n\nBest regards\nUwe","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=qE19b33I;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g60cN6M95z1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:53:40 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 3836784EBE;\n\tThu, 30 Apr 2026 16:53:32 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 5zTL9GBmp7Jt; Thu, 30 Apr 2026 16:53:31 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id A43DE84EB3;\n\tThu, 30 Apr 2026 16:53:31 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n by lists1.osuosl.org (Postfix) with ESMTP id 95657192\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 13:15:13 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 7B2F94078E\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 13:15:13 +0000 (UTC)","from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id ZepFpRk_RPub for <intel-wired-lan@lists.osuosl.org>;\n Thu, 30 Apr 2026 13:15:12 +0000 (UTC)","from mail-wm1-x334.google.com (mail-wm1-x334.google.com\n [IPv6:2a00:1450:4864:20::334])\n by smtp2.osuosl.org (Postfix) with ESMTPS id 59C844078B\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 13:15:11 +0000 (UTC)","by mail-wm1-x334.google.com with SMTP id\n 5b1f17b1804b1-488d2079582so9328205e9.2\n for <intel-wired-lan@lists.osuosl.org>; Thu, 30 Apr 2026 06:15:11 -0700 (PDT)","from localhost\n (p200300f65f114e0859f76ff87a50eb14.dip0.t-ipconnect.de.\n [2003:f6:5f11:4e08:59f7:6ff8:7a50:eb14])\n by smtp.gmail.com with UTF8SMTPSA id\n ffacd0b85a97d-447b3d47ff1sm13921904f8f.6.2026.04.30.06.15.08\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 30 Apr 2026 06:15:08 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org A43DE84EB3","OpenDKIM Filter v2.11.0 smtp2.osuosl.org 59C844078B"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777568011;\n\tbh=Q14Nfv+UEqF4wGTpTXYwRmNvMzztXWMPU3JKrPL0wNU=;\n\th=Date:From:To:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t Cc:From;\n\tb=qE19b33I2oDXiIxIOQKu4zx8XHwvMzot3O73h6ed8O8daKMF0H8tcsn7RyOLIXKTe\n\t faaz9r17oymeSmIX6znVazkguR3jaVg6GOMIpU6aP/xCczlKeJwgV4Wq3/igIed22Y\n\t A3SNUr5XcGr40MOrQpdN6U+8GyDsYWCTlrPFhVRKHqhEFB0+vfBk7Hy2nSgNfyoOwo\n\t Wt68elRJSOcF5qjXCPvRSi8pkW2ZrAlinGyqDMv4tSNWekfb8LzmlfG/+KyiiApeUs\n\t ioTlknY0oYw8MGVuRaSTrodhqQelc+ThpgwjTV9cmmmgGpRwRTiPf8VkszUkdx4ZmU\n\t KDW/TOXDOomFw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::334; helo=mail-wm1-x334.google.com;\n envelope-from=ukleinek@baylibre.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp2.osuosl.org 59C844078B","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777554910; x=1778159710;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=Q14Nfv+UEqF4wGTpTXYwRmNvMzztXWMPU3JKrPL0wNU=;\n b=AFgvg+Dg7CeN2x8+97hUTo+/Z/tSmNDAh49PfGAFDjqj6eu8TqO1SBykufEDiqqwBN\n MMUE95fYObOe7FR/VAez/AFGPQ/lISHlxL8liFZuHVhXupTXohS/tPGn6TvQzr3Ar9PQ\n w7JBWFsR+QTZC6iseOPkYSep/g8TIcEZmnNUJmFL3kpv4FUBT+YDuDb25/KMe5+Liaqa\n Z3XvOeg+Xy0ts1mGZvBfaSCHC++f9aVduybBLfS2dDs8GzTMk8cbULZOC4MM71SNg3Jc\n DNlt7G/wzgNVIFLtiVeaxJMdcljC26pwmduLdCV01wigqKekIchNtXFDqqrHKNzTeZ8a\n a4eA==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+7znngOJ+FmFafmGuDzX+ls+enaEi4zNbnqqYZVKq0NDLi29N8GQXVwsYv3NyWB53gv6smlnStd8w59bWu4LU=@lists.osuosl.org","X-Gm-Message-State":"AOJu0YzdtLPImWDgzZZjXFAkX4AxqDqdKzIWl74VixN3ZChaMRRckblh\n hWr4tsoG50dfakEUNHwNM7V+8og46RnbVFvjuEkslY7BNj1ujm87POF2m/Pu4v3Pq3I=","X-Gm-Gg":"AeBDiet8ibbimljiDTJ6FcLD+08IUSdMmhY9kvGNxRCRMP671UJK6zEzEO+4DUd/SZ5\n Bi3/85qOwjYlS+cB+tA/FGUGq+AHNxhhUyCUoyfR2CFmj/X6aJHZlAbz/kihqGU0ptWp0+wyb70\n Sr1liqFxx1OoE31RV4VL86cqVQuClKMEiQ6ntmxvTWaX/Rt4q8BiWqHb92hQSYvrH9ERGP9q93c\n m0xAV47/kX6foVCEp6BEnFL7/eq3cWSkzZFp+otmLC+/AoOc0+XpQqVgw7qhlVdUBYb6sqo/iG3\n U2T/uG8yVLTyzOKTDbvamutbNbJOVg4HQqDuMvTEBG/1K670s+Oolp6NgPPMs0/WgSk7VT1eZXo\n g6sW90kyEYH9a58U5JTZz2+c6xE3RN1CHhn7DysnNPNPny+Cu5z5stNDeLydXlFb4plbn5mbZZ0\n PYDCGsS1+47IrOyleu0/EqkA8uC4AIBG+ibW1/VC86YxhlY7CwjkpF/rxEH682q0XcMG2MQ70Y3\n YQ/2F4Sl95zguctg8vEv8JVtQ==","X-Received":"by 2002:a05:600c:c0db:b0:489:284:44ab with SMTP id\n 5b1f17b1804b1-48a83f6b306mr35501805e9.12.1777554909754;\n Thu, 30 Apr 2026 06:15:09 -0700 (PDT)","Date":"Thu, 30 Apr 2026 15:15:07 +0200","From":"Uwe =?utf-8?q?Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","To":"Markus Schneider-Pargmann <msp@baylibre.com>","Message-ID":"<afNVhCLPqPf-OKK3@monoceros>","References":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>\n <DI6D3JVJ6JG6.8V4XUVGJA2D4@baylibre.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha512;\n protocol=\"application/pgp-signature\"; boundary=\"6b5ffjhgb6zy7r2y\"","Content-Disposition":"inline","In-Reply-To":"<DI6D3JVJ6JG6.8V4XUVGJA2D4@baylibre.com>","X-Mailman-Approved-At":"Thu, 30 Apr 2026 16:53:24 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777554910;\n x=1778159710;\n darn=lists.osuosl.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=Q14Nfv+UEqF4wGTpTXYwRmNvMzztXWMPU3JKrPL0wNU=;\n b=FsIXK/ebPrNMD5iPiy4mp57+AEjsuba36Blu64IePyewV5jc+AbuhYqpvMstr3bPxA\n V1CzK85rX0QHr8LRDBqfUAptdL52pqgOTm+Y7EL68XHnMVNWUAXzZanhU1cWYQLLujDq\n 8NbgTT+cR1V9te0TZ6fZoVYPbWUHPa0pXDpxcA0ttfHseZ+kedsUkl8sVrArGjubhTsJ\n frIkHYVEX5ivW5EGkUbIrVLtdvrAKoRtop+VqrQ2qv1NP7OXahncG2QXFgK1fpmGR+/h\n WeUatbQl2VFnEKtJsfAY75HKSllZr4JWswvh5Btn2BTefsv660ht+VpMnTGQKNOOh9nk\n sDxA==","X-Mailman-Original-Authentication-Results":["smtp2.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=baylibre.com","smtp2.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=FsIXK/eb"],"Subject":"Re: [Intel-wired-lan] [PATCH net-next] net: Consistently define\n pci_device_ids using named initializers","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Cc":"Richard Cochran <richardcochran@gmail.com>,\n Marco Crivellari <marco.crivellari@suse.com>,\n Randy Dunlap <rdunlap@infradead.org>, Yonglong Liu <liuyonglong@huawei.com>,\n Kees Cook <kees@kernel.org>, linux-wireless@vger.kernel.org,\n Larysa Zaremba <larysa.zaremba@intel.com>, Joe Damato <joe@dama.to>,\n brcm80211@lists.linux.dev, Daniele Venzano <venza@brownhat.org>,\n Eric Dumazet <edumazet@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n MD Danish Anwar <danishanwar@ti.com>, Samuel Chessman <chessman@tux.org>,\n Fan Gong <gongfan1@huawei.com>, Mengyuan Lou <mengyuanlou@net-swift.com>,\n Kevin Curtis <kevin.curtis@farsite.co.uk>, Ingo Molnar <mingo@kernel.org>,\n Ion Badulescu <ionut@badula.org>,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n Yeounsu Moon <yyyynoom@gmail.com>, Manish Chopra <manishc@marvell.com>,\n Colin Ian King <colin.i.king@gmail.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Thomas Fourier <fourier.thomas@gmail.com>,\n Sai Krishna <saikrishnag@marvell.com>, Denis Kirjanov <kirjanov@gmail.com>,\n intel-wired-lan@lists.osuosl.org, linux-parisc@vger.kernel.org,\n Jacob Keller <jacob.e.keller@intel.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Steffen Klassert <klassert@kernel.org>,\n Stanislav Yakovlev <stas.yakovlev@gmail.com>, linux-rdma@vger.kernel.org,\n Arend van Spriel <arend.vanspriel@broadcom.com>, nic_swsd@realtek.com,\n Jiri Pirko <jiri@resnulli.us>, Ethan Nelson-Moore <enelsonmoore@gmail.com>,\n Philipp Stanner <phasta@kernel.org>, Ido Schimmel <idosch@nvidia.com>,\n Potnuri Bharat Teja <bharat@chelsio.com>, Double Lo <double.lo@cypress.com>,\n linux-can@vger.kernel.org, Nathan Chancellor <nathan@kernel.org>,\n Jiawen Wu <jiawenwu@trustnetic.com>, Cai Huoqing <cai.huoqing@linux.dev>,\n Mark Einon <mark.einon@gmail.com>, Bjorn Helgaas <bhelgaas@google.com>,\n Zilin Guan <zilin@seu.edu.cn>, Yibo Dong <dong100@mucse.com>,\n Andy Shevchenko <andriy.shevchenko@intel.com>,\n Petr Machata <petrm@nvidia.com>,\n Kory Maincent <kory.maincent@bootlin.com>,\n brcm80211-dev-list.pdl@broadcom.com,\n GR-Linux-NIC-Dev@marvell.com, Vadim Fedorenko <vadim.fedorenko@linux.dev>,\n Leon Romanovsky <leon@kernel.org>, Denis Benato <benato.denis96@gmail.com>,\n Rasesh Mody <rmody@marvell.com>, netdev@vger.kernel.org,\n oss-drivers@corigine.com, Vincent Mailhol <mailhol@kernel.org>,\n Mark Bloch <mbloch@nvidia.com>, linux-kernel@vger.kernel.org,\n Tariq Toukan <tariqt@nvidia.com>, Jian Shen <shenjian15@huawei.com>,\n Jijie Shao <shaojijie@huawei.com>, Andrew Lunn <andrew+netdev@lunn.ch>,\n Thomas Gleixner <tglx@kernel.org>, Simon Horman <horms@kernel.org>,\n Yicong Hui <yiconghui@gmail.com>, Marc Kleine-Budde <mkl@pengutronix.de>,\n Johannes Berg <johannes@sipsolutions.net>,\n Heiner Kallweit <hkallweit1@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>,\n \"David S. Miller\" <davem@davemloft.net>, Krzysztof Halasa <khc@pm.waw.pl>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}}]