From nobody Sun May 24 19:34:24 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.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 746982E719C for ; Fri, 22 May 2026 17:32:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779471164; cv=none; b=G381pk87Wovx3DZdvo75fsjOxYVhfZfVFST7YZ0sgw7TmlWpciytOeOeX1ZKtfll+/GGXLLRe0ouQsy2N2G8veGWrisw82YAoRg9o/J8PZoTROxRzUMuLjb7Rsmgaf1j5WRMZROSZvg3xg7nh1lUr2LgNGaZPy9Weujn+jlxVTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779471164; c=relaxed/simple; bh=5RmoYhsc7irUTR0LHAXenc3vM4aEYWXlNW+dhl51pPI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=IL632YiY7NulP0u5OZuJy2MI2baP1Pov3+uZXVxpHkIqM0i4oS4FW+2u+xqRH3dBYpagjFYwN1jqT3qFibU4igHo3gT5QyQ4R42jIHh6NvFfSqIR0A2RgATKYXyXhdQhPMJR6sqoM7iBtdkLhRhKu8UA8WYwcOpsqIK9/3QON88= 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 header.i=@baylibre.com header.b=gSqdIU2T; arc=none smtp.client-ip=209.85.221.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 header.i=@baylibre.com header.b="gSqdIU2T" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-43fe62837baso4548105f8f.3 for ; Fri, 22 May 2026 10:32:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1779471160; x=1780075960; 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=+HXJnvOTZfOERbivA11CR+e6cjAyyux3p94LqWw04vQ=; b=gSqdIU2TI53KLaloi49LunLs/eu5vDYRjo+eJ5Laf6q+9AtfYFRxlxF/P2PVYJhmQS mzOwCdfk9zmlYwbgKv+DOIw78TrWQDT/mB+uBSotSD+3N5fUFxPr59uTMKCyf2sE9Cuu Fs7QGdJ5GVNE2TjP7sHMIiKYYwb81pT81M+mydXvPRvbkNsQfqzGhwnFwMqi//xUiJVD pealaAb+JpuKsRDZMJ+4aRE7X6nycdxK8JwN1D5eQuz6oE/TElnOpXej9Ev5ceLcdWb+ /vdrGNIePP272DPeOUBYQmhTVcB8/ogZ5SHhHZ1xkSpcrLdaNPbpb+9iaqhFIfmGD2Wt kxyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779471160; x=1780075960; 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=+HXJnvOTZfOERbivA11CR+e6cjAyyux3p94LqWw04vQ=; b=alQ2qq8Dfw9fQXZQ1pVObrP0woxoJD/5S6+ruTxg5ba9QD6mcXnrCTsgPMz+VtvPVJ WUgXNt/Z3AwcP/7y9YmNIPF8kPFGwwo8jU8s7CYlqJZUX6cCx3e9SubLfEZjTG7rzw4E n0Lze6GBJC5P313gd99Wr+GS8fuqqlVgoalf6xd59nZypp7ap3rg4WESQZ4N+Lv6T9xL mRSlaftEFgzV7fUejIWGtAK2Wbp4dDahQd5vF+Nj2O7bY8EbHq2kibv2Xrsg3/IwLmyK KQsPVM1LEyOolDAnrF/vIMNcUw1E8hfwsY5PH8+s87AJDLHkReT/opjfVtIEnlxnuNRX vKxQ== X-Forwarded-Encrypted: i=1; AFNElJ8GE0eKLqGVdWmLyTdzI9SFklHUs9iUBxG7SyAUMlqJE2ygVJsjR0IDKC1XKHmaOkTyl4bOXxGt1SvEu8Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5nN9zVrqnNCRXAUljn6dYRFewR/IbQxIkNub3kZbxeKYtSpV1 P/DQUCpQ/SmS3emlaDQEs8blNNOTyqRx+0ufqM0JDX+4Vbp44tqZHOX4Kfm3+J6Rh3E= X-Gm-Gg: Acq92OE0wDb+3MSQrvxrVYeRFbHVuOOMf6bQdFzZ9kdRP6GPQnWU+XSRdVz+pkZ3Rz8 H9QS+LiqxY5vGwUNrMeIQGeRnLrzjlxj1wN5AHoAXCANhl6JsyQAH/zn+9z6a8/huC2b8H5MBTJ ISE9p0zHajI5LXZDdBTijB/psxOaSH84lvPEs0UGmLbDGud8FHXE5gcF6sL5qW7Hb2EjX227CBI wT1/k8d1LfZeySX72w58w3zpDdjxsHccSF0UOhdXTAAIaMaBwKN858cIDBo3YHqoIVKj0PjwmSy vUgEDVPlWQMlQGtLGaiV+fupiYO7g3dB4asvPkFQwXP6aV6tZYCrJTWB4bQa/AHXyMKQY5AlpR0 xy4BeRclHpXQWepeVxNEBDlLmydVhKuIVDaVj7bYYCLVRXjur1mSGent/P4OI9rJlIEVR8HTNuz doHCBCWUUd7a+/kkv/sizdKrEEd6f8g7fKAevULm9mSDsP8ZdbjWx1h1KpKUliKMRq5UoK24dFy r5wXoC6h+7BM3M= X-Received: by 2002:a05:6000:4684:b0:441:36b7:7262 with SMTP id ffacd0b85a97d-45eb38b05c4mr5206767f8f.13.1779471159827; Fri, 22 May 2026 10:32:39 -0700 (PDT) Received: from localhost (p200300f65f47db04fdedbb26b9ad100d.dip0.t-ipconnect.de. [2003:f6:5f47:db04:fded:bb26:b9ad:100d]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-45eb6ccd211sm6825225f8f.10.2026.05.22.10.32.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 10:32:39 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra Cc: Maxim Levitsky , Kees Cook , Vaibhav Gupta , Bjorn Helgaas , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v1] mtd: Consistently define pci_device_ids Date: Fri, 22 May 2026 19:32:34 +0200 Message-ID: <20260522173234.799331-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=10579; i=u.kleine-koenig@baylibre.com; h=from:subject; bh=5RmoYhsc7irUTR0LHAXenc3vM4aEYWXlNW+dhl51pPI=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBqEJMynBkIdPEM/34b1dM8zgN259kmaGJfyoDTd dvRk+afqdSJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCahCTMgAKCRCPgPtYfRL+ TojgB/47ukCbWhuBmnczcQ1Zn8ypYlTsWDJXNQC07e0GD1UI0us5OzmYQfcoM34HD0d0ZxFBrmA gsswMHgYtbl4xBMLED1Jse2Znyums6oEbstYO5SxtUEKlCUgHlC/5b/Iy/Cj2IAUBaHXFNrlRGL 4fZj3D67yeSvlLayCavWdqjo7+xllvNZRNIUwDBb7FF7ysXY4UJNVHYtOJUu0UlnaF0PH4fMoYM NPRgX/EHYk+hn/HPHwsLyc28N6QY4a/+LHTzi7vvB+7Geq56Ju8vydVJ4NUPMMJFO02BWemlcBx +HJCuHvllHNlS5aq85s7Y5qm0E5BY0f/EM+tmKg/eVMmr4F8 X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable Initializing a pci_device_id using plain list expressions is hard to understand for a human who isn't into the Linux PCI subsystem. So for each initializer use one of the PCI_DEVICE macros for .vendor, .device, .subvendor and .subdevice and named initializers for the remaining assignments. This makes it easier to parse and also more robust against chagnes to the struct definition. Also drop useless zeros and commas. The mentioned robustness is relevant for a planned change to struct pci_device_id that replaces .driver_data by an anonymous union. This change doesn't introduce changes to the compiled pci_device_id array. Tested on x86 and arm64. Signed-off-by: Uwe Kleine-K=C3=B6nig (The Capable Hub) --- Hello, while being a cleanup that can stand on its own this is also a preparation for making driver_data an anonymous union that requires that .driver_data is initialized by name and not by list order. The union allows to make better use of the C type system and drops the need for casting. The change to a driver will look as follows: diff --git a/arch/x86/platform/intel-mid/pwr.c b/arch/x86/platform/intel-m= id/pwr.c index 1739971478ff..c0d9da81d512 100644 --- a/arch/x86/platform/intel-mid/pwr.c +++ b/arch/x86/platform/intel-mid/pwr.c @@ -347,7 +347,7 @@ struct mid_pwr_device_info { =20 static int mid_pwr_probe(struct pci_dev *pdev, const struct pci_device_id= *id) { - struct mid_pwr_device_info *info =3D (void *)id->driver_data; + struct mid_pwr_device_info *info =3D id->driver_data_ptr; struct device *dev =3D &pdev->dev; struct mid_pwr *pwr; int ret; @@ -471,8 +471,8 @@ static const struct mid_pwr_device_info tng_info =3D { =20 /* This table should be in sync with the one in drivers/pci/pci-mid.c */ static const struct pci_device_id mid_pwr_pci_ids[] =3D { - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_PENWELL), .driver_data =3D (kernel_ul= ong_t)&pnw_info }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_TANGIER), .driver_data =3D (kernel_ul= ong_t)&tng_info }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_PENWELL), .driver_data_ptr =3D &pnw_i= nfo }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_TANGIER), .driver_data_ptr =3D &tng_i= nfo }, {} }; =20 which is a nice improvement dropping three casts and that will make the compiler say: arch/x86/platform/intel-mid/pwr.c: In function =E2=80=98mid_pwr_probe=E2=80= =99: arch/x86/platform/intel-mid/pwr.c:350:44: error: initialization discards = =E2=80=98const=E2=80=99 qualifier from pointer target type [-Werror=3Ddisca= rded-qualifiers] 350 | struct mid_pwr_device_info *info =3D id->driver_data_ptr; | ^~ (so it promotes that driver data is supposed to be const). There is no pci driver below drivers/mtd using pointers for driver data, so the example is from a different subsystem. Best regards Uwe drivers/mtd/maps/amd76xrom.c | 10 ++++------ drivers/mtd/maps/ck804xrom.c | 2 +- drivers/mtd/maps/esb2rom.c | 20 +++++++------------- drivers/mtd/maps/ichxrom.c | 17 ++++++----------- drivers/mtd/maps/pci.c | 16 +++++----------- drivers/mtd/maps/scb2_flash.c | 9 ++------- drivers/mtd/nand/raw/cafe_nand.c | 3 +-- drivers/mtd/nand/raw/denali_pci.c | 4 ++-- drivers/mtd/nand/raw/r852.c | 4 ++-- 9 files changed, 30 insertions(+), 55 deletions(-) diff --git a/drivers/mtd/maps/amd76xrom.c b/drivers/mtd/maps/amd76xrom.c index 95f9b99ce5fc..457e6ab7f3fb 100644 --- a/drivers/mtd/maps/amd76xrom.c +++ b/drivers/mtd/maps/amd76xrom.c @@ -296,12 +296,10 @@ static void amd76xrom_remove_one(struct pci_dev *pdev) } =20 static const struct pci_device_id amd76xrom_pci_tbl[] =3D { - { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7440, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_AMD, 0x7468 }, /* amd8111 support */ - { 0, } + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7440) }, + { PCI_DEVICE_SUB(PCI_VENDOR_ID_AMD, 0x7468, 0, 0) }, /* amd8111 support */ + { } }; =20 MODULE_DEVICE_TABLE(pci, amd76xrom_pci_tbl); diff --git a/drivers/mtd/maps/ck804xrom.c b/drivers/mtd/maps/ck804xrom.c index 5e44134caa8e..ef4afa8c1931 100644 --- a/drivers/mtd/maps/ck804xrom.c +++ b/drivers/mtd/maps/ck804xrom.c @@ -335,7 +335,7 @@ static const struct pci_device_id ck804xrom_pci_tbl[] = =3D { { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, 0x0365), .driver_data =3D DEV_MCP55 }, { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, 0x0366), .driver_data =3D DEV_MCP55 }, { PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, 0x0367), .driver_data =3D DEV_MCP55 }, - { 0, } + { } }; =20 #if 0 diff --git a/drivers/mtd/maps/esb2rom.c b/drivers/mtd/maps/esb2rom.c index fc7f2c3a62b0..043bad544414 100644 --- a/drivers/mtd/maps/esb2rom.c +++ b/drivers/mtd/maps/esb2rom.c @@ -385,19 +385,13 @@ static void esb2rom_remove_one(struct pci_dev *pdev) } =20 static const struct pci_device_id esb2rom_pci_tbl[] =3D { - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB2_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { 0, }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB2_0) }, + { }, }; =20 #if 0 diff --git a/drivers/mtd/maps/ichxrom.c b/drivers/mtd/maps/ichxrom.c index 6608b782149b..8fecd1820f6e 100644 --- a/drivers/mtd/maps/ichxrom.c +++ b/drivers/mtd/maps/ichxrom.c @@ -323,17 +323,12 @@ static void ichxrom_remove_one(struct pci_dev *pdev) } =20 static const struct pci_device_id ichxrom_pci_tbl[] =3D { - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, - PCI_ANY_ID, PCI_ANY_ID, }, - { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, - PCI_ANY_ID, PCI_ANY_ID, }, - { 0, }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0), }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0), }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0), }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0), }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1), }, + { }, }; =20 #if 0 diff --git a/drivers/mtd/maps/pci.c b/drivers/mtd/maps/pci.c index 4a84ca8aed40..34041cc8f173 100644 --- a/drivers/mtd/maps/pci.c +++ b/drivers/mtd/maps/pci.c @@ -227,22 +227,16 @@ static struct mtd_pci_info intel_dc21285_info =3D { =20 static const struct pci_device_id mtd_pci_ids[] =3D { { - .vendor =3D PCI_VENDOR_ID_INTEL, - .device =3D 0x530d, - .subvendor =3D PCI_ANY_ID, - .subdevice =3D PCI_ANY_ID, + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x530d), .class =3D PCI_CLASS_MEMORY_OTHER << 8, .class_mask =3D 0xffff00, .driver_data =3D (unsigned long)&intel_iq80310_info, - }, - { - .vendor =3D PCI_VENDOR_ID_DEC, - .device =3D PCI_DEVICE_ID_DEC_21285, - .subvendor =3D 0, /* DC21285 defaults to 0 on reset */ - .subdevice =3D 0, /* DC21285 defaults to 0 on reset */ + }, { + /* DC21285 defaults to 0 for .subvendor and .subdevice on reset */ + PCI_DEVICE_SUB(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, 0, 0), .driver_data =3D (unsigned long)&intel_dc21285_info, }, - { 0, } + { } }; =20 /* diff --git a/drivers/mtd/maps/scb2_flash.c b/drivers/mtd/maps/scb2_flash.c index 57303f904bc1..5c7e1dad101b 100644 --- a/drivers/mtd/maps/scb2_flash.c +++ b/drivers/mtd/maps/scb2_flash.c @@ -215,13 +215,8 @@ static void scb2_flash_remove(struct pci_dev *dev) } =20 static struct pci_device_id scb2_flash_pci_ids[] =3D { - { - .vendor =3D PCI_VENDOR_ID_SERVERWORKS, - .device =3D PCI_DEVICE_ID_SERVERWORKS_CSB5, - .subvendor =3D PCI_ANY_ID, - .subdevice =3D PCI_ANY_ID - }, - { 0, } + { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5) }, + { } }; =20 static struct pci_driver scb2_flash_driver =3D { diff --git a/drivers/mtd/nand/raw/cafe_nand.c b/drivers/mtd/nand/raw/cafe_n= and.c index c4018bc59670..f3117b031cd2 100644 --- a/drivers/mtd/nand/raw/cafe_nand.c +++ b/drivers/mtd/nand/raw/cafe_nand.c @@ -830,8 +830,7 @@ static void cafe_nand_remove(struct pci_dev *pdev) } =20 static const struct pci_device_id cafe_nand_tbl[] =3D { - { PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_88ALP01_NAND, - PCI_ANY_ID, PCI_ANY_ID }, + { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_88ALP01_NAND) }, { } }; =20 diff --git a/drivers/mtd/nand/raw/denali_pci.c b/drivers/mtd/nand/raw/denal= i_pci.c index 97fa32d73441..f53df1b32dda 100644 --- a/drivers/mtd/nand/raw/denali_pci.c +++ b/drivers/mtd/nand/raw/denali_pci.c @@ -19,8 +19,8 @@ =20 /* List of platforms this NAND controller has be integrated into */ static const struct pci_device_id denali_pci_ids[] =3D { - { PCI_VDEVICE(INTEL, 0x0701), INTEL_CE4100 }, - { PCI_VDEVICE(INTEL, 0x0809), INTEL_MRST }, + { PCI_VDEVICE(INTEL, 0x0701), .driver_data =3D INTEL_CE4100 }, + { PCI_VDEVICE(INTEL, 0x0809), .driver_data =3D INTEL_MRST }, { /* end: all zeroes */ } }; MODULE_DEVICE_TABLE(pci, denali_pci_ids); diff --git a/drivers/mtd/nand/raw/r852.c b/drivers/mtd/nand/raw/r852.c index 8a5572b30893..92c47d351c27 100644 --- a/drivers/mtd/nand/raw/r852.c +++ b/drivers/mtd/nand/raw/r852.c @@ -1070,8 +1070,8 @@ static int r852_resume(struct device *device) =20 static const struct pci_device_id r852_pci_id_tbl[] =3D { =20 - { PCI_VDEVICE(RICOH, 0x0852), }, - { }, + { PCI_VDEVICE(RICOH, 0x0852) }, + { } }; =20 MODULE_DEVICE_TABLE(pci, r852_pci_id_tbl); base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 --=20 2.47.3