From nobody Sun Jun 14 02:36:44 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 294DA38E119 for ; Mon, 4 May 2026 15:05:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777907148; cv=none; b=j2UAzfiW65ksEzwJzWOOwUXgK12jkuJzrzRIBFYUN7HzYlMfYhEi02Qsb91GiCxj71TjUG3XG8Cucw9novoVbkSaHjOPncLp/UJX9887jfgJnpj7MLiVFc2iaofop1pUc0m3/d6qTUzzb8pfuG+EShJmDjJtJsBFn8oDhpYO498= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777907148; c=relaxed/simple; bh=NE1L6eMzG6COj1SB7uAmt2t6ZR5qluBMscfu2fv82Pc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=XkZpgZl64e83r5gQ3UweJPTGjNmVhJfy55Xd/q6nfxu3hjuNBaFwX+iTTdALiskXMSIT8i7mnLhUR1hoflQCgJmZ71Ud4Jg/lTidwDeHmAbXBnpviheJGFRiFa+8d7ZudAXsPjRhWudTovm8+tz/oxBWuOYCbFTVqEPo7FhDp98= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b=Z8n268JS; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b="Z8n268JS" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4891c0620bcso29904795e9.1 for ; Mon, 04 May 2026 08:05:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777907144; x=1778511944; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=vGzvK4HsHm02j9O1TwzKamsko2ii3BucSi9rVkl9Lnw=; b=Z8n268JSjoEjOyB/StJ2HuMEsfgT+aJY9nXOcAWeTuYA9Wajbn8/Ajh3SFNmnbgoDN a1PZFtHOgnVB/U91Dcbw0R4EExe6PjygYlvAF/ij71ZcdPQ5OpcGBJ0hA8m4OBDyJEkE GkTNU0VbFgO3Vyds3eEvIr3aKpTFQyg3WiIF0kqJ/DotghxR0TDYKLFGZarlCOkUkEwV sMCtBRdz6XarzSUO46a5hdhyDXyQemEMrQa/auHfw6bJ0ITBAWzb0DOsi3iUUY9QxbF9 KrPaSvv/Xrnupqm7rl9sp9XyI7lN1UAiUzPcdCwYpnSnEIW2HSxhqh7f8bzOVvoH7hv1 w01Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777907144; x=1778511944; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vGzvK4HsHm02j9O1TwzKamsko2ii3BucSi9rVkl9Lnw=; b=n2sglZ2XQzWpWsS0z34cH+n8Q3vyjheHNmbPOwPWEqgQoreXx/rekSjXFSDOxF+jcN U2R90XFvZgC7RGRROQnAv1vQLW2vprKWf3A2DBQfM8iPrYK5uMsgwWQs0+U1Q96G8/Qs Kt9pM+i5iixdCvrXhkB+ETvoVcg/hWq4V1MdjVaZnMvovuQtbwuJptB4x+9dlLI0Ga4k 8PFQLnGu4su9gj7z4+pgiIuSampgigJSbpfYD0oO77wPx/OGabMg7MesVWod8KSBhyb9 hgJa4oF1Xpf8NtxTBaUkrJSPjZTfCodpLbtsSv6upt8PjtgJOHqg4pqqsKUjbnt8yuFj yvmw== X-Forwarded-Encrypted: i=1; AFNElJ/4gjpZ0Jd16OHpCvdqF1zLriOagZgnz9Sk+p97U/oOVFkO+r+U220uenMm1nIymSj9oLbQAqZP/hMZ3N8=@vger.kernel.org X-Gm-Message-State: AOJu0YwIiuAWmSTxHOLSpY2bGACFoJTCWKYGQaj0mh3+5ZF/itgm4Bnp 51VpWKrEP7SrTwy5TTzrlJqobFnS3aBsxzLL4/IgfYfsz47gpCXeHFOkToryeKCaTxM= X-Gm-Gg: AeBDievXfWgBQidnwpWF16IuEvuRgZ6qfrhlWOGEiQVOqg0ckBtax6Nkt4bfX0Dvkm5 7P+oksWbydPqlDZMqXa7t9OPQw7dkutPI/1xuQGLix5B2yLFiJQQOg1x64labGXN3tUVi1TARI6 JZqR8/+ckNPy3GgF7si4cEX1MWypZG4/RZRf1OZ0X8p+Er5nObbo+0vrVgdVmHbaF50OAjfcDFh xhIlj4IjGWpBU2js5elOKM0Gs0jVPJN8duaLJTcvRd9MVCyTqXUPUUT6FkVXRBywo0YQcCkx1l/ xXiJc9NmuS39yuQ4PGLVrzR2eQHAooL2Z6iakRWVqM52B2zQq7kT1cX6sjtJJMyEqQ/zx4E+4G1 Q+hb1bzI44meYV+4sDOahKZRg8uDjizuIIoHo0opAEhGcmilzH6DIqFNK4xt6tpHLN4wolnfT2h ovzIoUBCqBk1hLR6n1++2gkBKFWbNRYnLicJuBruaQEsnVOGzEGQRQbOtHw5BcAi892Y1NcWyMm +ZrAaze4jAVyo6TTDnPynbHdg== X-Received: by 2002:a05:600c:3487:b0:486:fb0b:ad79 with SMTP id 5b1f17b1804b1-48a988a6ec9mr178609795e9.20.1777907144531; Mon, 04 May 2026 08:05:44 -0700 (PDT) Received: from localhost (p200300f65f114e08197264a4bf9e813f.dip0.t-ipconnect.de. [2003:f6:5f11:4e08:1972:64a4:bf9e:813f]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-48d046faba7sm38072595e9.30.2026.05.04.08.05.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 08:05:43 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Gerd Hoffmann Cc: Markus Schneider-Pargmann , Patrik Jakobsson , Jianmin Lv , Qianhai Wu , Huacai Chen , Mingcong Bai , Xi Ruoyao , Icenowy Zheng , Dave Airlie , Jocelyn Falempe , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org Subject: [PATCH] drm: Consistently define pci_device_ids using named initializers Date: Mon, 4 May 2026 17:05:37 +0200 Message-ID: <20260504150537.2136760-2-u.kleine-koenig@baylibre.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=9388; i=u.kleine-koenig@baylibre.com; h=from:subject; bh=NE1L6eMzG6COj1SB7uAmt2t6ZR5qluBMscfu2fv82Pc=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBp+LXC7vbJIuE2keRFm6HVDh2ebJ24M6YY8wzqT r96mRsBPBmJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCafi1wgAKCRCPgPtYfRL+ Tl7GCACfNS/fqsNkHf6BM4BCBvB6p0B1vHt/ScUAqlpcSAqMYX8TzNHbiI+W88f+p/Vt3AVExJt LNxEJmfvDpAh3sTsue2/b4O/lc3hyU8y+Kw1VAYD7tkNcVUR/C6jcIB7QkOhwjNNsvj9RWpYghx 7fftJjmp6E7aLxhP9v5e+WDD6F8v+p7+RIApXuSQgNr4iCCY1jBVmbnQBFr2kNJQnoZtDNLy5dF 6yMkhqMJVJXebTe1j6thkum5+dfkHMjlcSrr6UeVNxJJdPJ8Kh10GudKxGbahDvUppWvhSBBa8R gWRoqIfS/iKEazlGfaUvk5/jVNOHfq3wJ/CEdLIpQLEr6H8j X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable The .driver_data member of the various struct pci_device_id arrays were initialized by list expressions. This isn't easily readable if you're not into PCI. Using the PCI_DEVICE macro and named initializers is more explicit and thus easier to parse. Also skip explicit assignments of 0 (which the compiler then takes care of). This change doesn't introduce changes to the compiled pci_device_id arrays. Tested on x86 and arm64. Signed-off-by: Uwe Kleine-K=C3=B6nig (The Capable Hub) Reviewed-by: Patrik Jakobsson Reviewed-by: Thomas Zimmermann --- Hello, The secret plan is to make struct pci_device_id::driver_data an anonymous union (similar to https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.c= om/) and that requires named initializers. But IMHO it's also a nice cleanup on its own. The anonymous union will allow changes like the following: - { PCI_DEVICE(0x8086, 0x8108), .driver_data =3D (long) &psb_chip_ops }, + { PCI_DEVICE(0x8086, 0x8108), .driver_data_ptr =3D &psb_chip_ops }, (together with the respective change in the code when the value is used). This gets rid of a bunch of casts and thus slightly improves type safety. Best regards Uwe drivers/gpu/drm/gma500/psb_drv.c | 56 +++++++++++++-------------- drivers/gpu/drm/loongson/lsdc_drv.c | 4 +- drivers/gpu/drm/mgag200/mgag200_drv.c | 24 ++++++------ drivers/gpu/drm/qxl/qxl_drv.c | 15 ++++--- 4 files changed, 52 insertions(+), 47 deletions(-) diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_= drv.c index 005ab7f5355f..039da26ef24d 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c @@ -56,36 +56,36 @@ static int psb_pci_probe(struct pci_dev *pdev, const st= ruct pci_device_id *ent); */ static const struct pci_device_id pciidlist[] =3D { /* Poulsbo */ - { 0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &psb_chip_ops }, - { 0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &psb_chip_ops }, + { PCI_DEVICE(0x8086, 0x8108), .driver_data =3D (long) &psb_chip_ops }, + { PCI_DEVICE(0x8086, 0x8109), .driver_data =3D (long) &psb_chip_ops }, /* Oak Trail */ - { 0x8086, 0x4100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4101, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4103, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4104, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4105, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4106, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4107, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, - { 0x8086, 0x4108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &oaktrail_chip_ops= }, + { PCI_DEVICE(0x8086, 0x4100), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4101), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4102), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4103), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4104), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4105), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4106), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4107), .driver_data =3D (long) &oaktrail_chip_ops = }, + { PCI_DEVICE(0x8086, 0x4108), .driver_data =3D (long) &oaktrail_chip_ops = }, /* Cedar Trail */ - { 0x8086, 0x0be0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be7, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0be9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0bea, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0beb, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0bec, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0bed, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0bee, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0x8086, 0x0bef, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long) &cdv_chip_ops }, - { 0, } + { PCI_DEVICE(0x8086, 0x0be0), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be1), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be2), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be3), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be4), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be5), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be6), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be7), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be8), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0be9), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0bea), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0beb), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0bec), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0bed), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0bee), .driver_data =3D (long) &cdv_chip_ops }, + { PCI_DEVICE(0x8086, 0x0bef), .driver_data =3D (long) &cdv_chip_ops }, + { } }; MODULE_DEVICE_TABLE(pci, pciidlist); =20 diff --git a/drivers/gpu/drm/loongson/lsdc_drv.c b/drivers/gpu/drm/loongson= /lsdc_drv.c index 1ece1ea42f78..f9f7271ddbff 100644 --- a/drivers/gpu/drm/loongson/lsdc_drv.c +++ b/drivers/gpu/drm/loongson/lsdc_drv.c @@ -444,8 +444,8 @@ static const struct dev_pm_ops lsdc_pm_ops =3D { }; =20 static const struct pci_device_id lsdc_pciid_list[] =3D { - {PCI_VDEVICE(LOONGSON, 0x7a06), CHIP_LS7A1000}, - {PCI_VDEVICE(LOONGSON, 0x7a36), CHIP_LS7A2000}, + { PCI_VDEVICE(LOONGSON, 0x7a06), .driver_data =3D CHIP_LS7A1000 }, + { PCI_VDEVICE(LOONGSON, 0x7a36), .driver_data =3D CHIP_LS7A2000 }, { } }; =20 diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag20= 0/mgag200_drv.c index a32be27c39e8..8ad4ddb60ee6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -205,18 +205,18 @@ int mgag200_device_init(struct mga_device *mdev, */ =20 static const struct pci_device_id mgag200_pciidlist[] =3D { - { PCI_VENDOR_ID_MATROX, 0x520, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_PCI }, - { PCI_VENDOR_ID_MATROX, 0x521, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_AGP }, - { PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_A }, - { PCI_VENDOR_ID_MATROX, 0x524, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_B }, - { PCI_VENDOR_ID_MATROX, 0x530, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EV }, - { PCI_VENDOR_ID_MATROX, 0x532, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_WB }, - { PCI_VENDOR_ID_MATROX, 0x533, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EH }, - { PCI_VENDOR_ID_MATROX, 0x534, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_ER }, - { PCI_VENDOR_ID_MATROX, 0x536, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EW3 }, - { PCI_VENDOR_ID_MATROX, 0x538, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EH3 }, - { PCI_VENDOR_ID_MATROX, 0x53a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EH5 }, - {0,} + { PCI_VDEVICE(MATROX, 0x0520), .driver_data =3D G200_PCI }, + { PCI_VDEVICE(MATROX, 0x0521), .driver_data =3D G200_AGP }, + { PCI_VDEVICE(MATROX, 0x0522), .driver_data =3D G200_SE_A }, + { PCI_VDEVICE(MATROX, 0x0524), .driver_data =3D G200_SE_B }, + { PCI_VDEVICE(MATROX, 0x0530), .driver_data =3D G200_EV }, + { PCI_VDEVICE(MATROX, 0x0532), .driver_data =3D G200_WB }, + { PCI_VDEVICE(MATROX, 0x0533), .driver_data =3D G200_EH }, + { PCI_VDEVICE(MATROX, 0x0534), .driver_data =3D G200_ER }, + { PCI_VDEVICE(MATROX, 0x0536), .driver_data =3D G200_EW3 }, + { PCI_VDEVICE(MATROX, 0x0538), .driver_data =3D G200_EH3 }, + { PCI_VDEVICE(MATROX, 0x053a), .driver_data =3D G200_EH5 }, + { } }; =20 MODULE_DEVICE_TABLE(pci, mgag200_pciidlist); diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 2bbb1168a3ff..6c3c309b8e4d 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -50,11 +50,16 @@ #include "qxl_object.h" =20 static const struct pci_device_id pciidlist[] =3D { - { 0x1b36, 0x100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, - 0xffff00, 0 }, - { 0x1b36, 0x100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_OTHER << 8, - 0xffff00, 0 }, - { 0, 0, 0 }, + { + PCI_DEVICE(0x1b36, 0x0100), + .class =3D PCI_CLASS_DISPLAY_VGA << 8, + .class_mask =3D 0xffff00 + }, { + PCI_DEVICE(0x1b36, 0x0100), + .class =3D PCI_CLASS_DISPLAY_OTHER << 8, + .class_mask =3D 0xffff00 + }, + { }, }; MODULE_DEVICE_TABLE(pci, pciidlist); =20 base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 --=20 2.47.3