{"id":2229936,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229936/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260428171845.2288395-2-u.kleine-koenig@baylibre.com/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/1.1/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","date":"2026-04-28T17:18:44","name":"[net-next] net: Consistently define pci_device_ids using named initializers","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"2c308623567e9d18ee31d77cda58e47eafb5fa17","submitter":{"id":88686,"url":"http://patchwork.ozlabs.org/api/1.1/people/88686/?format=json","name":"Uwe Kleine-König (The Capable Hub)","email":"u.kleine-koenig@baylibre.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260428171845.2288395-2-u.kleine-koenig@baylibre.com/mbox/","series":[{"id":501946,"url":"http://patchwork.ozlabs.org/api/1.1/series/501946/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=501946","date":"2026-04-28T17:18:44","name":"[net-next] net: Consistently define pci_device_ids using named initializers","version":1,"mbox":"http://patchwork.ozlabs.org/series/501946/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2229936/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2229936/checks/","tags":{},"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=BsmHi+XS;\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 4g4wkJ1nZfz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 08:55:04 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 04FDF80C50;\n\tTue, 28 Apr 2026 22:55:02 +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 IMVj6wAuvIu9; Tue, 28 Apr 2026 22:54:58 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id B64CD80D34;\n\tTue, 28 Apr 2026 22:54:58 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists1.osuosl.org (Postfix) with ESMTP id E4E17231\n for <intel-wired-lan@lists.osuosl.org>; Tue, 28 Apr 2026 17:19:25 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id D606A83BF6\n for <intel-wired-lan@lists.osuosl.org>; Tue, 28 Apr 2026 17:19: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 u2jAHD2HfIZr for <intel-wired-lan@lists.osuosl.org>;\n Tue, 28 Apr 2026 17:19:22 +0000 (UTC)","from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com\n [IPv6:2a00:1450:4864:20::42d])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 9A06183B6B\n for <intel-wired-lan@lists.osuosl.org>; Tue, 28 Apr 2026 17:19:20 +0000 (UTC)","by mail-wr1-x42d.google.com with SMTP id\n ffacd0b85a97d-43d7e23defbso6847027f8f.0\n for <intel-wired-lan@lists.osuosl.org>; Tue, 28 Apr 2026 10:19:19 -0700 (PDT)","from localhost\n (p200300f65f114e083adbfb3674088b9a.dip0.t-ipconnect.de.\n [2003:f6:5f11:4e08:3adb:fb36:7408:8b9a])\n by smtp.gmail.com with UTF8SMTPSA id\n ffacd0b85a97d-4463ff5a1acsm7715391f8f.33.2026.04.28.10.19.15\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 28 Apr 2026 10:19:16 -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 B64CD80D34","OpenDKIM Filter v2.11.0 smtp1.osuosl.org 9A06183B6B"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777416898;\n\tbh=bXS4hZH4GuMjDgj0JYnpAEoYDoFOckWhSiXG9OYKrmo=;\n\th=From:To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:Cc:From;\n\tb=BsmHi+XSCyulSjXX8ItQ7Evyc4udGkpHC48dIY+QuZiIFxdg8Y5FwMThyKD/bMZ4O\n\t fqn920BGeiSfVIM6xYXAN/6BHfpeOgaNvPLFeQNhA4toaO8enCtKVSfGK7p3bpAyLu\n\t wFcHnQDL/baZZzF5OZgWfFtGR8TOZFzBpTOXjrL9lzDnXTyeZ2FUJcwg1msaqpz/0T\n\t esFmiZDxdv+QyekLCI1672BLlxj8QN9snrHKP0XhaZumTE4S0ae8/zGReJmKyOzzlB\n\t uMUNzGEhY2hQg/pD/M4LH7tW/iQMScHjvuL2DsYonpAECeYB5qO2VcGqR4VqKvw8rY\n\t k6rYBGzLF3Chw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::42d; helo=mail-wr1-x42d.google.com;\n envelope-from=ukleinek@baylibre.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org 9A06183B6B","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777396758; x=1778001558;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=bXS4hZH4GuMjDgj0JYnpAEoYDoFOckWhSiXG9OYKrmo=;\n b=BIIj9wJWbSnssPVRBx7XhgNkg4Mge7AK05HtcMmmDaKR3BwTKipQ8xkhcEMSWzW4g+\n HCckY62Tl3dFFJfc++PKsGcU8ydEfCBrOATThRW81qbJyIeFy1Oj8e/qRf5FNpMCciJ2\n 4SDxK/Cjt5l0gRFRmH069HY4H1l7glaAqxObdy1qD4OG0+RJaR+jKgunBPMDe+EkmbF8\n j+fgwxFApN0HF5F0QO9weoqOHUol8gJbbJkAUcbrY+MtbGv04IMgq+a3V8QuWdxOjMv2\n Ag2BGZ6obvHppmPckWF/ogZyU0Djpqb2WQ5E60IPvvszU2xrSpycK/AcdIvUtLeoAK7X\n Q6gA==","X-Forwarded-Encrypted":"i=1;\n AFNElJ9gAIjzgXwA900JVzE/RNGTCN/5JqnoEXiPf0G+b6XERfq/y+JcyI3CS9IVVSrHUndat34ymdnc2PQr3lH6m18=@lists.osuosl.org","X-Gm-Message-State":"AOJu0YxFrbcCjJ2+e+Jiv2VzOmWdp5EU048Wg1cIB819yXPZ0AdwwNJn\n gcHCX2bJp9YFpTgI8+qxk1ZRJf37JunqaLw1sDLvS5gLNK7nxt1GYmYLMm+bOQ8TD38=","X-Gm-Gg":"AeBDiescW5bTIwULtFiTm2q0hE3AjhNsg19uzWVQViJluUiiPElhWzwImSowFaPb1Zv\n X87xDvW07XlCRJ1vDXH+Z9Cea/lsy+W25UCbM6+S3h7xMcITaBTnqQAS21Jb32Ox1ogiHx1V9cA\n BTJhSCR5l7BzxwhtzWX2etv6T5ne+14U5fsd8MU2dzAr0zbXUpUZLtiTW41p/tM7CkuVQgisoUI\n Me8coVWGHAEFXN5fYlNbex6tMxe0ZlCmkErVE52Lsqrah61UUdfJChz717/rJzz6ybUDYyzKdsA\n PPDyjJ/NXHUSTd0aToldttLJIw5AxMcmOiRmPaBCLlPhpX/6NgteK8068T3yk7YP9qYizqhaHFP\n 2ut5VDZdqFGeoHPGeanHydpHPSRVOG5l+UT9NckeYISqah+QDylAy67TFJD6IrTsXqGIIQLBWz7\n AdlHy6staarqrAQ9uTI1bm9p02W4C8pRLhpST6bNpDy7Ur3V1sU24jRpRbXMKgrRZYIwQMvzi7o\n yY66FzaNvDzvv0UCtuMYFRrsw==","X-Received":"by 2002:a5d:5f85:0:b0:439:c299:4d8f with SMTP id\n ffacd0b85a97d-44648b510c7mr7381212f8f.17.1777396756902;\n Tue, 28 Apr 2026 10:19:16 -0700 (PDT)","From":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig_=28The_Capable_Hub=29?=\n <u.kleine-koenig@baylibre.com>","To":"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>","Date":"Tue, 28 Apr 2026 19:18:44 +0200","Message-ID":"<20260428171845.2288395-2-u.kleine-koenig@baylibre.com>","X-Mailer":"git-send-email 2.47.3","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","X-Developer-Signature":"v=1; a=openpgp-sha256; l=149272;\n i=u.kleine-koenig@baylibre.com; h=from:subject;\n bh=EwbblkFcDnVN3IVzEa/sMefmS+VdG8zqxs2PCD7CqHo=;\n b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBp8Ov130Ix57yIfvYmfS47qUtsfqdX6GvPTFsVB\n z55gLLoyRyJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCafDr9QAKCRCPgPtYfRL+\n TsL0CACZbnvXyA4/jfL60lb1YcLR/ChpNwHBK4KCBfHdb0y93H07zFKyiU51DJZGDv+X45m3TsV\n jNDxqarDV4iFjMGQ6HDhAqNBO+AD+B5/pyVWJwzktwNBzv2ZXn9a1aT7YUbFp6GkENzAPbeSJSq\n ewrArcjYJ1bNVvDUEHhIYbv5Rn7/pxkNNp6ByD8zQmRgjRMKRIu/l6qd5wI2xKtRepK7vYP5SaL\n gKuD9CGVmiuUHA0phVvg5XlHqNBgcewG/tfprD6yQhn8y15ONxg/raCHjH1Fk878ymOdBAAv9wg\n PjctHm/yf0V1g8gKNCg6ENFejSxq7qt2yM555VBHchLroUGC","X-Developer-Key":"i=u.kleine-koenig@baylibre.com; a=openpgp;\n fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6","Content-Transfer-Encoding":"8bit","X-Mailman-Approved-At":"Tue, 28 Apr 2026 22:54:54 +0000","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777396758;\n x=1778001558;\n darn=lists.osuosl.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=bXS4hZH4GuMjDgj0JYnpAEoYDoFOckWhSiXG9OYKrmo=;\n b=M9kcbSO/ScP0kVFVVyWk2vG5GA8d/RCW2tlG9Ap7Yi2ddew+nvd+Et3IxlxoR1Aee4\n IkU59aaEpeFgWykASDtZkBYAyB3ARglCWIwDotPg6CMtILdP6WdRrcBHPbrDXJ1wDNFj\n 6ahEAGhhdicNfBjKZWZT740atldWb3ElITFsVSRxVtVUNzRDyCEiiGejcLMsr3vlzV5Q\n M/0GxSQvhFoY+38XyrjcPiFw3NCqILfu89s2sbL22bBw73C1OoOszJuinQLyY0FFITi4\n +IkO1hl3d6WCwbIeG29XTPj9aUv5LGcK2XV1hKhCYhLgQ8utkAomBP/HgNg7F0y35AeL\n JOuQ==","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=M9kcbSO/"],"Subject":"[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 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 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>, 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>"},"content":"... and PCI device helpers.\n\nThe various struct pci_device_id arrays were initialized mostly by one\nthe PCI_DEVICE macros and then list expressions. The latter isn't easily\nreadable if you're not into PCI. Using named initializers is more\nexplicit and thus easier to parse.\n\nAlso use PCI_DEVICE* helper macros to assign .vendor, .device,\n.subvendor and .subdevice where appropriate and skip explicit\nassignments of 0 (which the compiler takes care of).\n\nThe secret plan is to make struct pci_device_id::driver_data an\nanonymous union (similar to\nhttps://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)\nand that requires named initializers. But it's also a nice cleanup on\nits own.\n\nThis change doesn't introduce changes to the compiled pci_device_id\narrays. Tested on x86 and arm64.\n\nSigned-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>\n---\nHello,\n\nthe 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\nwhich gets rid of a bunch of casts and so brings a little bit more type\nsafety. This patch is a preparation for that.\n\nI handled all of drivers/net/ in a single patch, please tell me if I\nshould split by subsystem.\n\nBest regards\nUwe\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 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\nbase-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731","diff":"diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c\nindex 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 card_info_eae_fb2 = {\n \n static const struct pci_device_id com20020pci_id_table[] = {\n \t{\n-\t\t0x1571, 0xa001,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0,\n+\t\tPCI_DEVICE(0x1571, 0xa001),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa002),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa003),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa004),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa005),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa006),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa007),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa008),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa009),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_5mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa00a),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_5mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa00b),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_5mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa00c),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_5mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa00d),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_5mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa00e),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_5mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa201),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa202),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa203),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa204),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa205),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x1571, 0xa206),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE_SUB(0x10B5, 0x9030, 0x10B5, 0x2978),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_sohard,\n+\t}, {\n+\t\tPCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x2273),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_sohard,\n+\t}, {\n+\t\tPCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3263),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_eae_arc1,\n+\t}, {\n+\t\tPCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3292),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_eae_ma1,\n+\t}, {\n+\t\tPCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3294),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_eae_fb2,\n+\t}, {\n+\t\tPCI_DEVICE(0x14BA, 0x6000),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n+\t}, {\n+\t\tPCI_DEVICE(0x10B5, 0x2200),\n+\t\t.driver_data = (kernel_ulong_t)&card_info_10mbit,\n \t},\n-\t{\n-\t\t0x1571, 0xa002,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0,\n-\t},\n-\t{\n-\t\t0x1571, 0xa003,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0\n-\t},\n-\t{\n-\t\t0x1571, 0xa004,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0,\n-\t},\n-\t{\n-\t\t0x1571, 0xa005,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0\n-\t},\n-\t{\n-\t\t0x1571, 0xa006,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0\n-\t},\n-\t{\n-\t\t0x1571, 0xa007,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0\n-\t},\n-\t{\n-\t\t0x1571, 0xa008,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t0\n-\t},\n-\t{\n-\t\t0x1571, 0xa009,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_5mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa00a,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_5mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa00b,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_5mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa00c,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_5mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa00d,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_5mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa00e,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_5mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa201,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa202,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa203,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa204,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa205,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x1571, 0xa206,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x10B5, 0x9030,\n-\t\t0x10B5, 0x2978,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_sohard\n-\t},\n-\t{\n-\t\t0x10B5, 0x9050,\n-\t\t0x10B5, 0x2273,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_sohard\n-\t},\n-\t{\n-\t\t0x10B5, 0x9050,\n-\t\t0x10B5, 0x3263,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_eae_arc1\n-\t},\n-\t{\n-\t\t0x10B5, 0x9050,\n-\t\t0x10B5, 0x3292,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_eae_ma1\n-\t},\n-\t{\n-\t\t0x10B5, 0x9050,\n-\t\t0x10B5, 0x3294,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_eae_fb2\n-\t},\n-\t{\n-\t\t0x14BA, 0x6000,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{\n-\t\t0x10B5, 0x2200,\n-\t\tPCI_ANY_ID, PCI_ANY_ID,\n-\t\t0, 0,\n-\t\t(kernel_ulong_t)&card_info_10mbit\n-\t},\n-\t{ 0, }\n+\t{ }\n };\n \n MODULE_DEVICE_TABLE(pci, com20020pci_id_table);\ndiff --git a/drivers/net/can/m_can/m_can_pci.c b/drivers/net/can/m_can/m_can_pci.c\nindex 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 MODULE_DEVICE_TABLE(pci, m_can_pci_id_table);\n \ndiff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c\nindex 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 };\n MODULE_DEVICE_TABLE(pci, plx_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c\nindex 4fe4efdb3737..79beb86437df 100644\n--- a/drivers/net/ethernet/3com/3c59x.c\n+++ b/drivers/net/ethernet/3com/3c59x.c\n@@ -376,54 +376,54 @@ static struct vortex_chip_info {\n \n \n static const struct pci_device_id vortex_pci_tbl[] = {\n-\t{ 0x10B7, 0x5900, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C590 },\n-\t{ 0x10B7, 0x5920, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C592 },\n-\t{ 0x10B7, 0x5970, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C597 },\n-\t{ 0x10B7, 0x5950, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C595_1 },\n-\t{ 0x10B7, 0x5951, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C595_2 },\n+\t{ PCI_DEVICE(0x10B7, 0x5900), .driver_data = CH_3C590 },\n+\t{ PCI_DEVICE(0x10B7, 0x5920), .driver_data = CH_3C592 },\n+\t{ PCI_DEVICE(0x10B7, 0x5970), .driver_data = CH_3C597 },\n+\t{ PCI_DEVICE(0x10B7, 0x5950), .driver_data = CH_3C595_1 },\n+\t{ PCI_DEVICE(0x10B7, 0x5951), .driver_data = CH_3C595_2 },\n \n-\t{ 0x10B7, 0x5952, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C595_3 },\n-\t{ 0x10B7, 0x9000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_1 },\n-\t{ 0x10B7, 0x9001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_2 },\n-\t{ 0x10B7, 0x9004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_3 },\n-\t{ 0x10B7, 0x9005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_4 },\n+\t{ PCI_DEVICE(0x10B7, 0x5952), .driver_data = CH_3C595_3 },\n+\t{ PCI_DEVICE(0x10B7, 0x9000), .driver_data = CH_3C900_1 },\n+\t{ PCI_DEVICE(0x10B7, 0x9001), .driver_data = CH_3C900_2 },\n+\t{ PCI_DEVICE(0x10B7, 0x9004), .driver_data = CH_3C900_3 },\n+\t{ PCI_DEVICE(0x10B7, 0x9005), .driver_data = CH_3C900_4 },\n \n-\t{ 0x10B7, 0x9006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_5 },\n-\t{ 0x10B7, 0x900A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900B_FL },\n-\t{ 0x10B7, 0x9050, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905_1 },\n-\t{ 0x10B7, 0x9051, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905_2 },\n-\t{ 0x10B7, 0x9054, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_TX },\n-\t{ 0x10B7, 0x9055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_1 },\n+\t{ PCI_DEVICE(0x10B7, 0x9006), .driver_data = CH_3C900_5 },\n+\t{ PCI_DEVICE(0x10B7, 0x900A), .driver_data = CH_3C900B_FL },\n+\t{ PCI_DEVICE(0x10B7, 0x9050), .driver_data = CH_3C905_1 },\n+\t{ PCI_DEVICE(0x10B7, 0x9051), .driver_data = CH_3C905_2 },\n+\t{ PCI_DEVICE(0x10B7, 0x9054), .driver_data = CH_3C905B_TX },\n+\t{ PCI_DEVICE(0x10B7, 0x9055), .driver_data = CH_3C905B_1 },\n \n-\t{ 0x10B7, 0x9058, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_2 },\n-\t{ 0x10B7, 0x905A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_FX },\n-\t{ 0x10B7, 0x9200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905C },\n-\t{ 0x10B7, 0x9202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9202 },\n-\t{ 0x10B7, 0x9800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C980 },\n-\t{ 0x10B7, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9805 },\n+\t{ PCI_DEVICE(0x10B7, 0x9058), .driver_data = CH_3C905B_2 },\n+\t{ PCI_DEVICE(0x10B7, 0x905A), .driver_data = CH_3C905B_FX },\n+\t{ PCI_DEVICE(0x10B7, 0x9200), .driver_data = CH_3C905C },\n+\t{ PCI_DEVICE(0x10B7, 0x9202), .driver_data = CH_3C9202 },\n+\t{ PCI_DEVICE(0x10B7, 0x9800), .driver_data = CH_3C980 },\n+\t{ PCI_DEVICE(0x10B7, 0x9805), .driver_data = CH_3C9805 },\n \n-\t{ 0x10B7, 0x7646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CSOHO100_TX },\n-\t{ 0x10B7, 0x5055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C555 },\n-\t{ 0x10B7, 0x6055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C556 },\n-\t{ 0x10B7, 0x6056, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C556B },\n-\t{ 0x10B7, 0x5b57, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C575 },\n+\t{ PCI_DEVICE(0x10B7, 0x7646), .driver_data = CH_3CSOHO100_TX },\n+\t{ PCI_DEVICE(0x10B7, 0x5055), .driver_data = CH_3C555 },\n+\t{ PCI_DEVICE(0x10B7, 0x6055), .driver_data = CH_3C556 },\n+\t{ PCI_DEVICE(0x10B7, 0x6056), .driver_data = CH_3C556B },\n+\t{ PCI_DEVICE(0x10B7, 0x5b57), .driver_data = CH_3C575 },\n \n-\t{ 0x10B7, 0x5057, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C575_1 },\n-\t{ 0x10B7, 0x5157, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFE575 },\n-\t{ 0x10B7, 0x5257, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFE575CT },\n-\t{ 0x10B7, 0x6560, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFE656 },\n-\t{ 0x10B7, 0x6562, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFEM656 },\n+\t{ PCI_DEVICE(0x10B7, 0x5057), .driver_data = CH_3C575_1 },\n+\t{ PCI_DEVICE(0x10B7, 0x5157), .driver_data = CH_3CCFE575 },\n+\t{ PCI_DEVICE(0x10B7, 0x5257), .driver_data = CH_3CCFE575CT },\n+\t{ PCI_DEVICE(0x10B7, 0x6560), .driver_data = CH_3CCFE656 },\n+\t{ PCI_DEVICE(0x10B7, 0x6562), .driver_data = CH_3CCFEM656 },\n \n-\t{ 0x10B7, 0x6564, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFEM656_1 },\n-\t{ 0x10B7, 0x4500, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C450 },\n-\t{ 0x10B7, 0x9201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C920 },\n-\t{ 0x10B7, 0x1201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982A },\n-\t{ 0x10B7, 0x1202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982B },\n+\t{ PCI_DEVICE(0x10B7, 0x6564), .driver_data = CH_3CCFEM656_1 },\n+\t{ PCI_DEVICE(0x10B7, 0x4500), .driver_data = CH_3C450 },\n+\t{ PCI_DEVICE(0x10B7, 0x9201), .driver_data = CH_3C920 },\n+\t{ PCI_DEVICE(0x10B7, 0x1201), .driver_data = CH_3C982A },\n+\t{ PCI_DEVICE(0x10B7, 0x1202), .driver_data = CH_3C982B },\n \n-\t{ 0x10B7, 0x9056, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_905BT4 },\n-\t{ 0x10B7, 0x9210, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_920B_EMB_WNM },\n+\t{ PCI_DEVICE(0x10B7, 0x9056), .driver_data = CH_905BT4 },\n+\t{ PCI_DEVICE(0x10B7, 0x9210), .driver_data = CH_920B_EMB_WNM },\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 MODULE_DEVICE_TABLE(pci, vortex_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c\nindex aaaff3ba43ef..fadc86907ec2 100644\n--- a/drivers/net/ethernet/3com/typhoon.c\n+++ b/drivers/net/ethernet/3com/typhoon.c\n@@ -198,33 +198,54 @@ static struct typhoon_card_info typhoon_card_info[] = {\n  * bits 12-16 indicate card type: (0) client and (1) server\n  */\n static const struct pci_device_id typhoon_pci_tbl[] = {\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0,TYPHOON_TX },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_TX_95,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_TX95 },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_TX_97,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_TX97 },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,\n-\t  PCI_ANY_ID, 0x1000, 0, 0, TYPHOON_TXM },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,\n-\t  PCI_ANY_ID, 0x1102, 0, 0, TYPHOON_FXM },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,\n-\t  PCI_ANY_ID, 0x2000, 0, 0, TYPHOON_BSVR },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n-\t  PCI_ANY_ID, 0x1101, 0, 0, TYPHOON_FX95 },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n-\t  PCI_ANY_ID, 0x1102, 0, 0, TYPHOON_FX97 },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n-\t  PCI_ANY_ID, 0x2101, 0, 0, TYPHOON_FX95SVR },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n-\t  PCI_ANY_ID, 0x2102, 0, 0, TYPHOON_FX97SVR },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990SVR95,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_SVR95 },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990SVR97,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_SVR97 },\n-\t{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990SVR,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_SVR },\n-\t{ 0, }\n+\t{\n+\t\tPCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990),\n+\t\t.driver_data = TYPHOON_TX,\n+\t}, {\n+\t\tPCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990_TX_95),\n+\t\t.driver_data = TYPHOON_TX95,\n+\t}, {\n+\t\tPCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990_TX_97),\n+\t\t.driver_data = TYPHOON_TX97,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990B,\n+\t\t\t\tPCI_ANY_ID, 0x1000),\n+\t\t.driver_data = TYPHOON_TXM,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990B,\n+\t\t\t\tPCI_ANY_ID, 0x1102),\n+\t\t.driver_data = TYPHOON_FXM,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990B,\n+\t\t\t\tPCI_ANY_ID, 0x2000),\n+\t\t.driver_data = TYPHOON_BSVR,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n+\t\t\t\tPCI_ANY_ID, 0x1101),\n+\t\t.driver_data = TYPHOON_FX95,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n+\t\t\t\tPCI_ANY_ID, 0x1102),\n+\t\t.driver_data = TYPHOON_FX97,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n+\t\t\t\tPCI_ANY_ID, 0x2101),\n+\t\t.driver_data = TYPHOON_FX95SVR,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,\n+\t\t\t\tPCI_ANY_ID, 0x2102),\n+\t\t.driver_data = TYPHOON_FX97SVR,\n+\t}, {\n+\t\tPCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990SVR95),\n+\t\t.driver_data = TYPHOON_SVR95,\n+\t}, {\n+\t\tPCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990SVR97),\n+\t\t.driver_data = TYPHOON_SVR97,\n+\t}, {\n+\t\tPCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990SVR),\n+\t\t.driver_data = TYPHOON_SVR,\n+\t},\n+\t{ }\n };\n MODULE_DEVICE_TABLE(pci, typhoon_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/8390/ne2k-pci.c b/drivers/net/ethernet/8390/ne2k-pci.c\nindex 1a34da07c0db..b1a94c97c0b9 100644\n--- a/drivers/net/ethernet/8390/ne2k-pci.c\n+++ b/drivers/net/ethernet/8390/ne2k-pci.c\n@@ -143,18 +143,18 @@ static struct {\n \n \n static const struct pci_device_id ne2k_pci_tbl[] = {\n-\t{ 0x10ec, 0x8029, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RealTek_RTL_8029 },\n-\t{ 0x1050, 0x0940, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_89C940 },\n-\t{ 0x11f6, 0x1401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Compex_RL2000 },\n-\t{ 0x8e2e, 0x3000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_KTI_ET32P2 },\n-\t{ 0x4a14, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_NetVin_NV5000SC },\n-\t{ 0x1106, 0x0926, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Via_86C926 },\n-\t{ 0x10bd, 0x0e34, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_SureCom_NE34 },\n-\t{ 0x1050, 0x5a5a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_W89C940F },\n-\t{ 0x12c3, 0x0058, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Holtek_HT80232 },\n-\t{ 0x12c3, 0x5598, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Holtek_HT80229 },\n-\t{ 0x8c4a, 0x1980, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_89C940_8c4a },\n-\t{ 0, }\n+\t{ PCI_DEVICE(0x10ec, 0x8029), .driver_data = CH_RealTek_RTL_8029 },\n+\t{ PCI_DEVICE(0x1050, 0x0940), .driver_data = CH_Winbond_89C940 },\n+\t{ PCI_DEVICE(0x11f6, 0x1401), .driver_data = CH_Compex_RL2000 },\n+\t{ PCI_DEVICE(0x8e2e, 0x3000), .driver_data = CH_KTI_ET32P2 },\n+\t{ PCI_DEVICE(0x4a14, 0x5000), .driver_data = CH_NetVin_NV5000SC },\n+\t{ PCI_DEVICE(0x1106, 0x0926), .driver_data = CH_Via_86C926 },\n+\t{ PCI_DEVICE(0x10bd, 0x0e34), .driver_data = CH_SureCom_NE34 },\n+\t{ PCI_DEVICE(0x1050, 0x5a5a), .driver_data = CH_Winbond_W89C940F },\n+\t{ PCI_DEVICE(0x12c3, 0x0058), .driver_data = CH_Holtek_HT80232 },\n+\t{ PCI_DEVICE(0x12c3, 0x5598), .driver_data = CH_Holtek_HT80229 },\n+\t{ PCI_DEVICE(0x8c4a, 0x1980), .driver_data = CH_Winbond_89C940_8c4a },\n+\t{ }\n };\n \n MODULE_DEVICE_TABLE(pci, ne2k_pci_tbl);\ndiff --git a/drivers/net/ethernet/adaptec/starfire.c b/drivers/net/ethernet/adaptec/starfire.c\nindex e1b8794b14c9..f1109d90e1fc 100644\n--- a/drivers/net/ethernet/adaptec/starfire.c\n+++ b/drivers/net/ethernet/adaptec/starfire.c\n@@ -278,8 +278,8 @@ enum chipset {\n };\n \n static const struct pci_device_id starfire_pci_tbl[] = {\n-\t{ PCI_VDEVICE(ADAPTEC, 0x6915), CH_6915 },\n-\t{ 0, }\n+\t{ PCI_VDEVICE(ADAPTEC, 0x6915), .driver_data = CH_6915 },\n+\t{ }\n };\n MODULE_DEVICE_TABLE(pci, starfire_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/agere/et131x.c b/drivers/net/ethernet/agere/et131x.c\nindex 0f6e5373029a..1b465a167672 100644\n--- a/drivers/net/ethernet/agere/et131x.c\n+++ b/drivers/net/ethernet/agere/et131x.c\n@@ -4084,9 +4084,9 @@ static int et131x_pci_setup(struct pci_dev *pdev,\n }\n \n static const struct pci_device_id et131x_pci_table[] = {\n-\t{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_GIG), 0UL},\n-\t{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_FAST), 0UL},\n-\t{ 0,}\n+\t{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_GIG) },\n+\t{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_FAST) },\n+\t{ }\n };\n MODULE_DEVICE_TABLE(pci, et131x_pci_table);\n \ndiff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c\nindex f5722e929833..3e2fd2939e87 100644\n--- a/drivers/net/ethernet/broadcom/bnx2.c\n+++ b/drivers/net/ethernet/broadcom/bnx2.c\n@@ -115,29 +115,45 @@ static struct {\n \t};\n \n static const struct pci_device_id bnx2_pci_tbl[] = {\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,\n-\t  PCI_VENDOR_ID_HP, 0x3101, 0, 0, NC370T },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,\n-\t  PCI_VENDOR_ID_HP, 0x3106, 0, 0, NC370I },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5706 },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5708,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5708 },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706S,\n-\t  PCI_VENDOR_ID_HP, 0x3102, 0, 0, NC370F },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706S,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5706S },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5708S,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5708S },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5709,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709 },\n-\t{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5709S,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709S },\n-\t{ PCI_VENDOR_ID_BROADCOM, 0x163b,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716 },\n-\t{ PCI_VENDOR_ID_BROADCOM, 0x163c,\n-\t  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716S },\n-\t{ 0, }\n+\t{\n+\t\tPCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5706,\n+\t\t\t\tPCI_VENDOR_ID_HP, 0x3101),\n+\t\t.driver_data = NC370T,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5706,\n+\t\t\t\tPCI_VENDOR_ID_HP, 0x3106),\n+\t\t.driver_data = NC370I,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5706),\n+\t\t.driver_data = BCM5706,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5708,\n+\t\t\t\tPCI_ANY_ID, PCI_ANY_ID),\n+\t\t.driver_data = BCM5708,\n+\t}, {\n+\t\tPCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5706S,\n+\t\t\t\tPCI_VENDOR_ID_HP, 0x3102),\n+\t\t.driver_data = NC370F,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5706S),\n+\t\t.driver_data = BCM5706S,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5708S),\n+\t\t.driver_data = BCM5708S,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5709),\n+\t\t.driver_data = BCM5709,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5709S),\n+\t\t.driver_data = BCM5709S,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, 0x163b),\n+\t\t.driver_data = BCM5716,\n+\t}, {\n+\t\tPCI_VDEVICE(BROADCOM, 0x163c),\n+\t\t.driver_data = BCM5716S,\n+\t},\n+\t{ }\n };\n \n static const struct flash_spec flash_table[] =\ndiff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c\nindex da0f8c353e6a..6f96645ff23f 100644\n--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c\n+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c\n@@ -259,31 +259,31 @@ static struct {\n #endif\n \n static const struct pci_device_id bnx2x_pci_tbl[] = {\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57710), BCM57710 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711), BCM57711 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711E), BCM57711E },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712), BCM57712 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_MF), BCM57712_MF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_VF), BCM57712_VF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800), BCM57800 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_MF), BCM57800_MF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_VF), BCM57800_VF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810), BCM57810 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_MF), BCM57810_MF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_O), BCM57840_O },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_4_10), BCM57840_4_10 },\n-\t{ PCI_VDEVICE(QLOGIC,\tPCI_DEVICE_ID_NX2_57840_4_10), BCM57840_4_10 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_2_20), BCM57840_2_20 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_VF), BCM57810_VF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MFO), BCM57840_MFO },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MF), BCM57840_MF },\n-\t{ PCI_VDEVICE(QLOGIC,\tPCI_DEVICE_ID_NX2_57840_MF), BCM57840_MF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_VF), BCM57840_VF },\n-\t{ PCI_VDEVICE(QLOGIC,\tPCI_DEVICE_ID_NX2_57840_VF), BCM57840_VF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811), BCM57811 },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_MF), BCM57811_MF },\n-\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_VF), BCM57811_VF },\n-\t{ 0 }\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57710), .driver_data = BCM57710 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711), .driver_data = BCM57711 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711E), .driver_data = BCM57711E },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712), .driver_data = BCM57712 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_MF), .driver_data = BCM57712_MF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_VF), .driver_data = BCM57712_VF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800), .driver_data = BCM57800 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_MF), .driver_data = BCM57800_MF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_VF), .driver_data = BCM57800_VF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810), .driver_data = BCM57810 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_MF), .driver_data = BCM57810_MF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_O), .driver_data = BCM57840_O },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_4_10), .driver_data = BCM57840_4_10 },\n+\t{ PCI_VDEVICE(QLOGIC,\tPCI_DEVICE_ID_NX2_57840_4_10), .driver_data = BCM57840_4_10 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_2_20), .driver_data = BCM57840_2_20 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_VF), .driver_data = BCM57810_VF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MFO), .driver_data = BCM57840_MFO },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MF), .driver_data = BCM57840_MF },\n+\t{ PCI_VDEVICE(QLOGIC,\tPCI_DEVICE_ID_NX2_57840_MF), .driver_data = BCM57840_MF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_VF), .driver_data = BCM57840_VF },\n+\t{ PCI_VDEVICE(QLOGIC,\tPCI_DEVICE_ID_NX2_57840_VF), .driver_data = BCM57840_VF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811), .driver_data = BCM57811 },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_MF), .driver_data = BCM57811_MF },\n+\t{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_VF), .driver_data = BCM57811_VF },\n+\t{ }\n };\n \n MODULE_DEVICE_TABLE(pci, bnx2x_pci_tbl);\ndiff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c\nindex c1a3df225254..353b2d23396e 100644\n--- a/drivers/net/ethernet/cavium/liquidio/lio_main.c\n+++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c\n@@ -404,17 +404,15 @@ static const struct pci_error_handlers liquidio_err_handler = {\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 \t},\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 MODULE_DEVICE_TABLE(pci, liquidio_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c\nindex 43c595f3b84e..36255352e7ea 100644\n--- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c\n+++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c\n@@ -237,12 +237,9 @@ static const struct pci_error_handlers liquidio_vf_err_handler = {\n \n static const struct pci_device_id liquidio_vf_pci_tbl[] = {\n \t{\n-\t\tPCI_VENDOR_ID_CAVIUM, OCTEON_CN23XX_VF_VID,\n-\t\tPCI_ANY_ID, PCI_ANY_ID, 0, 0, 0\n+\t\tPCI_VDEVICE(CAVIUM, OCTEON_CN23XX_VF_VID),\n \t},\n-\t{\n-\t\t0, 0, 0, 0, 0, 0, 0\n-\t}\n+\t{ }\n };\n MODULE_DEVICE_TABLE(pci, liquidio_vf_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/chelsio/cxgb/common.h b/drivers/net/ethernet/chelsio/cxgb/common.h\nindex 304bb282ab03..292f8ec248e2 100644\n--- a/drivers/net/ethernet/chelsio/cxgb/common.h\n+++ b/drivers/net/ethernet/chelsio/cxgb/common.h\n@@ -48,7 +48,7 @@\n #define DRV_NAME \"cxgb\"\n \n #define CH_DEVICE(devid, ssid, idx) \\\n-\t{ PCI_VENDOR_ID_CHELSIO, devid, PCI_ANY_ID, ssid, 0, 0, idx }\n+\t{ PCI_VDEVICE_SUB(CHELSIO, devid, PCI_ANY_ID, ssid), .driver_data = idx }\n \n #define SUPPORTED_PAUSE       (1 << 13)\n #define SUPPORTED_LOOPBACK    (1 << 15)\ndiff --git a/drivers/net/ethernet/chelsio/cxgb/subr.c b/drivers/net/ethernet/chelsio/cxgb/subr.c\nindex 367a9e4581d5..d4488e400bc6 100644\n--- a/drivers/net/ethernet/chelsio/cxgb/subr.c\n+++ b/drivers/net/ethernet/chelsio/cxgb/subr.c\n@@ -533,7 +533,7 @@ const struct pci_device_id t1_pci_tbl[] = {\n \tCH_DEVICE(11, 1, CH_BRD_T210_1F),\n \tCH_DEVICE(14, 1, CH_BRD_T210_1CU),\n \tCH_DEVICE(16, 1, CH_BRD_N204_4CU),\n-\t{ 0 }\n+\t{ }\n };\n \n MODULE_DEVICE_TABLE(pci, t1_pci_tbl);\ndiff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c\nindex 88b6d76817e9..3bee82bc0680 100644\n--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c\n+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c\n@@ -83,7 +83,7 @@ enum {\n #define EEPROM_MAGIC 0x38E2F10C\n \n #define CH_DEVICE(devid, idx) \\\n-\t{ PCI_VENDOR_ID_CHELSIO, devid, PCI_ANY_ID, PCI_ANY_ID, 0, 0, idx }\n+\t{ PCI_VDEVICE(CHELSIO, devid), .driver_data = idx }\n \n static const struct pci_device_id cxgb3_pci_tbl[] = {\n \tCH_DEVICE(0x20, 0),\t/* PE9000 */\n@@ -99,7 +99,7 @@ static const struct pci_device_id cxgb3_pci_tbl[] = {\n \tCH_DEVICE(0x35, 6),\t/* T3C20-derived T3C10 */\n \tCH_DEVICE(0x36, 3),\t/* S320E-CR */\n \tCH_DEVICE(0x37, 7),\t/* N320E-G2 */\n-\t{0,}\n+\t{ }\n };\n \n MODULE_DESCRIPTION(DRV_DESC);\ndiff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c\nindex 10694d5924ee..6df98fca932f 100644\n--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c\n+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c\n@@ -112,10 +112,10 @@ char cxgb4_driver_name[] = KBUILD_MODNAME;\n #define CH_PCI_DEVICE_ID_FUNCTION2 0x0\n \n #define CH_PCI_ID_TABLE_ENTRY(devid) \\\n-\t\t{PCI_VDEVICE(CHELSIO, (devid)), CXGB4_UNIFIED_PF}\n+\t\t{ PCI_VDEVICE(CHELSIO, (devid)), .driver_data = CXGB4_UNIFIED_PF }\n \n #define CH_PCI_DEVICE_ID_TABLE_DEFINE_END \\\n-\t\t{ 0, } \\\n+\t\t{ } \\\n \t}\n \n #include \"t4_pci_id_tbl.h\"\ndiff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c\nindex 9eaa9aadee33..b35a54982b6d 100644\n--- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c\n+++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c\n@@ -3388,9 +3388,9 @@ static void cxgb4vf_pci_shutdown(struct pci_dev *pdev)\n #define CH_PCI_DEVICE_ID_FUNCTION\t0x8\n \n #define CH_PCI_ID_TABLE_ENTRY(devid) \\\n-\t\t{ PCI_VDEVICE(CHELSIO, (devid)), 0 }\n+\t\t{ PCI_VDEVICE(CHELSIO, (devid)), .driver_data = 0 }\n \n-#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END { 0, } }\n+#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END { } }\n \n #include \"../cxgb4/t4_pci_id_tbl.h\"\n \ndiff --git a/drivers/net/ethernet/dec/tulip/de2104x.c b/drivers/net/ethernet/dec/tulip/de2104x.c\nindex f9504f340c4a..f38a10c79907 100644\n--- a/drivers/net/ethernet/dec/tulip/de2104x.c\n+++ b/drivers/net/ethernet/dec/tulip/de2104x.c\n@@ -333,10 +333,8 @@ static unsigned int de_ok_to_advertise (struct de_private *de, u32 new_media);\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 };\n MODULE_DEVICE_TABLE(pci, de_pci_tbl);\ndiff --git a/drivers/net/ethernet/dec/tulip/dmfe.c b/drivers/net/ethernet/dec/tulip/dmfe.c\nindex 2d3bd343b6e6..dabc091a0c66 100644\n--- a/drivers/net/ethernet/dec/tulip/dmfe.c\n+++ b/drivers/net/ethernet/dec/tulip/dmfe.c\n@@ -2076,11 +2076,11 @@ static void dmfe_HPNA_remote_cmd_chk(struct dmfe_board_info * db)\n \n \n static const struct pci_device_id dmfe_pci_tbl[] = {\n-\t{ 0x1282, 0x9132, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9132_ID },\n-\t{ 0x1282, 0x9102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9102_ID },\n-\t{ 0x1282, 0x9100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9100_ID },\n-\t{ 0x1282, 0x9009, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9009_ID },\n-\t{ 0, }\n+\t{ PCI_DEVICE(0x1282, 0x9132), .driver_data = PCI_DM9132_ID },\n+\t{ PCI_DEVICE(0x1282, 0x9102), .driver_data = PCI_DM9102_ID },\n+\t{ PCI_DEVICE(0x1282, 0x9100), .driver_data = PCI_DM9100_ID },\n+\t{ PCI_DEVICE(0x1282, 0x9009), .driver_data = PCI_DM9009_ID },\n+\t{ }\n };\n MODULE_DEVICE_TABLE(pci, dmfe_pci_tbl);\n \n@@ -2101,7 +2101,7 @@ static int __maybe_unused dmfe_suspend(struct device *dev_d)\n \tdw32(DCR7, 0);\n \tdw32(DCR5, dr32(DCR5));\n \n-\t/* Fre RX buffers */\n+\t/* Free RX buffers */\n \tdmfe_free_rxbuffer(db);\n \n \t/* Enable WOL */\ndiff --git a/drivers/net/ethernet/dec/tulip/tulip_core.c b/drivers/net/ethernet/dec/tulip/tulip_core.c\nindex b608585f1954..a7200eb66594 100644\n--- a/drivers/net/ethernet/dec/tulip/tulip_core.c\n+++ b/drivers/net/ethernet/dec/tulip/tulip_core.c\n@@ -196,45 +196,45 @@ const struct tulip_chip_table tulip_tbl[] = {\n \n \n static const struct pci_device_id tulip_pci_tbl[] = {\n-\t{ 0x1011, 0x0009, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DC21140 },\n-\t{ 0x1011, 0x0019, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DC21143 },\n-\t{ 0x11AD, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, LC82C168 },\n-\t{ 0x10d9, 0x0512, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98713 },\n-\t{ 0x10d9, 0x0531, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98715 },\n-/*\t{ 0x10d9, 0x0531, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98725 },*/\n-\t{ 0x125B, 0x1400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AX88140 },\n-\t{ 0x11AD, 0xc115, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PNIC2 },\n-\t{ 0x1317, 0x0981, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1317, 0x0985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1317, 0x1985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1317, 0x9511, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x13D1, 0xAB02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x13D1, 0xAB03, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x13D1, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x104A, 0x0981, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x104A, 0x2774, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1259, 0xa120, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x11F6, 0x9881, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMPEX9881 },\n-\t{ 0x8086, 0x0039, PCI_ANY_ID, PCI_ANY_ID, 0, 0, I21145 },\n+\t{ PCI_DEVICE(0x1011, 0x0009), .driver_data = DC21140 },\n+\t{ PCI_DEVICE(0x1011, 0x0019), .driver_data = DC21143 },\n+\t{ PCI_DEVICE(0x11AD, 0x0002), .driver_data = LC82C168 },\n+\t{ PCI_DEVICE(0x10d9, 0x0512), .driver_data = MX98713 },\n+\t{ PCI_DEVICE(0x10d9, 0x0531), .driver_data = MX98715 },\n+/*\t{ PCI_DEVICE(0x10d9, 0x0531), .driver_data = MX98725 },*/\n+\t{ PCI_DEVICE(0x125B, 0x1400), .driver_data = AX88140 },\n+\t{ PCI_DEVICE(0x11AD, 0xc115), .driver_data = PNIC2 },\n+\t{ PCI_DEVICE(0x1317, 0x0981), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1317, 0x0985), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1317, 0x1985), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1317, 0x9511), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x13D1, 0xAB02), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x13D1, 0xAB03), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x13D1, 0xAB08), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x104A, 0x0981), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x104A, 0x2774), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1259, 0xa120), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x11F6, 0x9881), .driver_data = COMPEX9881 },\n+\t{ PCI_DEVICE(0x8086, 0x0039), .driver_data = I21145 },\n #ifdef CONFIG_TULIP_DM910X\n-\t{ 0x1282, 0x9100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X },\n-\t{ 0x1282, 0x9102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X },\n+\t{ PCI_DEVICE(0x1282, 0x9100), .driver_data = DM910X },\n+\t{ PCI_DEVICE(0x1282, 0x9102), .driver_data = DM910X },\n #endif\n-\t{ 0x1113, 0x1216, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1113, 0x1217, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98715 },\n-\t{ 0x1113, 0x9511, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1186, 0x1541, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1186, 0x1561, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1186, 0x1591, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x14f1, 0x1803, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CONEXANT },\n-\t{ 0x1626, 0x8410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1737, 0xAB09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x1737, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x17B3, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n-\t{ 0x10b7, 0x9300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* 3Com 3CSOHO100B-TX */\n-\t{ 0x14ea, 0xab08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Planex FNW-3602-TX */\n-\t{ 0x1414, 0x0001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Microsoft MN-120 */\n-\t{ 0x1414, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },\n+\t{ PCI_DEVICE(0x1113, 0x1216), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1113, 0x1217), .driver_data = MX98715 },\n+\t{ PCI_DEVICE(0x1113, 0x9511), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1186, 0x1541), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1186, 0x1561), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1186, 0x1591), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x14f1, 0x1803), .driver_data = CONEXANT },\n+\t{ PCI_DEVICE(0x1626, 0x8410), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1737, 0xAB09), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x1737, 0xAB08), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x17B3, 0xAB08), .driver_data = COMET },\n+\t{ PCI_DEVICE(0x10b7, 0x9300), .driver_data = COMET }, /* 3Com 3CSOHO100B-TX */\n+\t{ PCI_DEVICE(0x14ea, 0xab08), .driver_data = COMET }, /* Planex FNW-3602-TX */\n+\t{ PCI_DEVICE(0x1414, 0x0001), .driver_data = COMET }, /* Microsoft MN-120 */\n+\t{ PCI_DEVICE(0x1414, 0x0002), .driver_data = COMET },\n \t{ } /* terminate list */\n };\n MODULE_DEVICE_TABLE(pci, tulip_pci_tbl);\n@@ -1279,8 +1279,8 @@ static const struct net_device_ops tulip_netdev_ops = {\n };\n \n static const struct pci_device_id early_486_chipsets[] = {\n-\t{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82424) },\n-\t{ PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496) },\n+\t{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_82424) },\n+\t{ PCI_VDEVICE(SI, PCI_DEVICE_ID_SI_496) },\n \t{ },\n };\n \ndiff --git a/drivers/net/ethernet/dec/tulip/uli526x.c b/drivers/net/ethernet/dec/tulip/uli526x.c\nindex 6e4d8d31aba9..34b234b6b159 100644\n--- a/drivers/net/ethernet/dec/tulip/uli526x.c\n+++ b/drivers/net/ethernet/dec/tulip/uli526x.c\n@@ -1728,9 +1728,9 @@ static u16 phy_read_1bit(struct uli526x_board_info *db)\n \n \n static const struct pci_device_id uli526x_pci_tbl[] = {\n-\t{ 0x10B9, 0x5261, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ULI5261_ID },\n-\t{ 0x10B9, 0x5263, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ULI5263_ID },\n-\t{ 0, }\n+\t{ PCI_DEVICE(0x10B9, 0x5261), .driver_data = PCI_ULI5261_ID },\n+\t{ PCI_DEVICE(0x10B9, 0x5263), .driver_data = PCI_ULI5263_ID },\n+\t{ }\n };\n MODULE_DEVICE_TABLE(pci, uli526x_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/dec/tulip/winbond-840.c b/drivers/net/ethernet/dec/tulip/winbond-840.c\nindex a24a25a5f73d..a5581f1d0141 100644\n--- a/drivers/net/ethernet/dec/tulip/winbond-840.c\n+++ b/drivers/net/ethernet/dec/tulip/winbond-840.c\n@@ -210,9 +210,16 @@ enum chip_capability_flags {\n };\n \n static const struct pci_device_id w840_pci_tbl[] = {\n-\t{ 0x1050, 0x0840, PCI_ANY_ID, 0x8153,     0, 0, 0 },\n-\t{ 0x1050, 0x0840, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },\n-\t{ 0x11f6, 0x2011, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 },\n+\t{\n+\t\tPCI_DEVICE_SUB(0x1050, 0x0840, PCI_ANY_ID, 0x8153),\n+\t\t.driver_data = 0,\n+\t}, {\n+\t\tPCI_DEVICE(0x1050, 0x0840),\n+\t\t.driver_data = 1,\n+\t}, {\n+\t\tPCI_DEVICE(0x11f6, 0x2011),\n+\t\t.driver_data = 2,\n+\t},\n \t{ }\n };\n MODULE_DEVICE_TABLE(pci, w840_pci_tbl);\ndiff --git a/drivers/net/ethernet/dlink/dl2k.h b/drivers/net/ethernet/dlink/dl2k.h\nindex 9ebf7a6db93e..00ef7d03b4d6 100644\n--- a/drivers/net/ethernet/dlink/dl2k.h\n+++ b/drivers/net/ethernet/dlink/dl2k.h\n@@ -418,12 +418,12 @@ struct netdev_private {\n #define CHIP_IP1000A\t1\n \n static const struct pci_device_id rio_pci_tbl[] = {\n-\t{0x1186, 0x4000, PCI_ANY_ID, PCI_ANY_ID, },\n-\t{0x13f0, 0x1021, PCI_ANY_ID, PCI_ANY_ID, },\n-\t{ PCI_VDEVICE(SUNDANCE,\t0x1023), CHIP_IP1000A },\n-\t{ PCI_VDEVICE(SUNDANCE,\t0x2021), CHIP_IP1000A },\n-\t{ PCI_VDEVICE(DLINK,\t0x9021), CHIP_IP1000A },\n-\t{ PCI_VDEVICE(DLINK,\t0x4020), CHIP_IP1000A },\n+\t{ PCI_DEVICE(0x1186, 0x4000) },\n+\t{ PCI_DEVICE(0x13f0, 0x1021) },\n+\t{ PCI_VDEVICE(SUNDANCE,\t0x1023), .driver_data = CHIP_IP1000A },\n+\t{ PCI_VDEVICE(SUNDANCE,\t0x2021), .driver_data = CHIP_IP1000A },\n+\t{ PCI_VDEVICE(DLINK,\t0x9021), .driver_data = CHIP_IP1000A },\n+\t{ PCI_VDEVICE(DLINK,\t0x4020), .driver_data = CHIP_IP1000A },\n \t{ }\n };\n MODULE_DEVICE_TABLE (pci, rio_pci_tbl);\ndiff --git a/drivers/net/ethernet/dlink/sundance.c b/drivers/net/ethernet/dlink/sundance.c\nindex 277c50ef773f..58873fcd3eaf 100644\n--- a/drivers/net/ethernet/dlink/sundance.c\n+++ b/drivers/net/ethernet/dlink/sundance.c\n@@ -192,13 +192,13 @@ IVc. Errata\n #endif\n \n static const struct pci_device_id sundance_pci_tbl[] = {\n-\t{ 0x1186, 0x1002, 0x1186, 0x1002, 0, 0, 0 },\n-\t{ 0x1186, 0x1002, 0x1186, 0x1003, 0, 0, 1 },\n-\t{ 0x1186, 0x1002, 0x1186, 0x1012, 0, 0, 2 },\n-\t{ 0x1186, 0x1002, 0x1186, 0x1040, 0, 0, 3 },\n-\t{ 0x1186, 0x1002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 },\n-\t{ 0x13F0, 0x0201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 },\n-\t{ 0x13F0, 0x0200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6 },\n+\t{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1002), .driver_data = 0 },\n+\t{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1003), .driver_data = 1 },\n+\t{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1012), .driver_data = 2 },\n+\t{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1040), .driver_data = 3 },\n+\t{ PCI_DEVICE(0x1186, 0x1002), .driver_data = 4 },\n+\t{ PCI_DEVICE(0x13F0, 0x0201), .driver_data = 5 },\n+\t{ PCI_DEVICE(0x13F0, 0x0200), .driver_data = 6 },\n \t{ }\n };\n MODULE_DEVICE_TABLE(pci, sundance_pci_tbl);\ndiff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c\nindex 3c9961806f75..bdc38aac5850 100644\n--- a/drivers/net/ethernet/fealnx.c\n+++ b/drivers/net/ethernet/fealnx.c\n@@ -1935,10 +1935,10 @@ static int netdev_close(struct net_device *dev)\n }\n \n static const struct pci_device_id fealnx_pci_tbl[] = {\n-\t{0x1516, 0x0800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},\n-\t{0x1516, 0x0803, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},\n-\t{0x1516, 0x0891, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2},\n-\t{} /* terminate list */\n+\t{ PCI_DEVICE(0x1516, 0x0800), .driver_data = 0 },\n+\t{ PCI_DEVICE(0x1516, 0x0803), .driver_data = 1 },\n+\t{ PCI_DEVICE(0x1516, 0x0891), .driver_data = 2 },\n+\t{ } /* terminate list */\n };\n MODULE_DEVICE_TABLE(pci, fealnx_pci_tbl);\n \ndiff --git a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c\nindex 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 MODULE_DEVICE_TABLE(pci, hbg_pci_tbl);\ndiff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c\nindex 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+\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 \ndiff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c\nindex 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 \ndiff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c\nindex 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);\ndiff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c\nindex 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),\ndiff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\nindex 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 \ndiff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c\nindex 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 \ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 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 \ndiff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c\nindex 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);\ndiff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 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 \ndiff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\nindex 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 \ndiff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c\nindex 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\ndiff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c\nindex 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 = {\ndiff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c\nindex 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);\ndiff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c\nindex 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 /**\ndiff --git a/drivers/net/ethernet/natsemi/natsemi.c b/drivers/net/ethernet/natsemi/natsemi.c\nindex 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);\ndiff --git a/drivers/net/ethernet/netronome/nfp/nfp_main.c b/drivers/net/ethernet/netronome/nfp/nfp_main.c\nindex 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 \ndiff --git a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c\nindex 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 \ndiff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c\nindex 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 \ndiff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c\nindex 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);\ndiff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c\nindex 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 {\ndiff --git a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c\nindex 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);\ndiff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c\nindex 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 \ndiff --git a/drivers/net/ethernet/smsc/epic100.c b/drivers/net/ethernet/smsc/epic100.c\nindex 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 \ndiff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c\nindex 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);\ndiff --git a/drivers/net/ethernet/sun/sungem.c b/drivers/net/ethernet/sun/sungem.c\nindex 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);\ndiff --git a/drivers/net/ethernet/ti/tlan.c b/drivers/net/ethernet/ti/tlan.c\nindex 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 \ndiff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c\nindex 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 /**\ndiff --git a/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c b/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c\nindex 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 = {\ndiff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c\nindex 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\ndiff --git a/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c b/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c\nindex 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 = {\ndiff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c\nindex 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);\ndiff --git a/drivers/net/wan/pc300too.c b/drivers/net/wan/pc300too.c\nindex 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 = {\ndiff --git a/drivers/net/wan/pci200syn.c b/drivers/net/wan/pci200syn.c\nindex 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 = {\ndiff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c\nindex 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 = {\ndiff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c\nindex 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[] = {\ndiff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c\nindex 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","prefixes":["net-next"]}