From nobody Mon May 4 13:04:57 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 43E33390990 for ; Mon, 4 May 2026 10:20:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777890020; cv=none; b=eDGDTvOVEEnVXwIqJ1r7LY/oa83Tgak1UIClplHBDgOLXRy6emTnDCCDzhBdyUQFDVAwBM7hYc71vBcgMzOAvNkLt3L3RECuVYUGDASg/mh8CBR51E7/wWbWnv3u7Ws5BaWNJ4RjRep0/DV1xTyQv5l50KTVHi2oiR8+lg23vqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777890020; c=relaxed/simple; bh=s/6N5gB8DGjoEg4dSFAL94hJC0H4w9laOHrkxskMoWo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=YTLPcGJsaVFMnegJwuR/Yo7NuP+3eeoxwOeUED1lyBGsEb6Z98sA7KJ5saO4/47+Vr7pcjO0FaL5G+4leJIyhzIaOfZimdOTJuHEKaNkyz0qmiEdOLBAs6TMOd1jzVKorRJImH4oCuuvO9dypsYnb01XpmGtAqc2wmbzBH/jcwk= 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=AxO9ZPcw; arc=none smtp.client-ip=209.85.128.45 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="AxO9ZPcw" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-4891c0620bcso27184255e9.1 for ; Mon, 04 May 2026 03:20:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777890016; x=1778494816; 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=LyhQFJnZEJaCueKPpnDeICsuB1xZ0J96lBFz4FcGpak=; b=AxO9ZPcwBTLcHxDqPcG3peL+IOsqRkgTaNhGppgRrmS/A+EQOvMNduj0bKvLnxPF5S C06ZrDY74rVJ8bdJX7NTUsxfrXXNFfl0jOEeB3QgH1oEY+nLSVkkh9EbSxaM470Mp8S5 8TupZIA8GSMaIeIB0NBvGJNIguW+1pIkcOI3ZDw/1gbMmn9tx2EYCF2AX5q1PFmxU2eW VtrwADYQgUCFpfaCo2WhiU/IA7wwhI6/Wf3hovcztWBBRTKIMo6ijR4hOEeWxsuTkCfj an4J4buz691gngoVWVEIL1Zlvz1IVBXcU0K7nkYpmb79MKVjbse27z4nUGkmOLo/ZoZk QIDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777890016; x=1778494816; 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=LyhQFJnZEJaCueKPpnDeICsuB1xZ0J96lBFz4FcGpak=; b=mh9U1bllWxwUdlUGtUDsY8fTxTEebvx+9PTZfCgXA/qr2rPunc/lWDgOlVum/e99/t G2Y/yzCtCWdS8msLBBc+7rnED6HKBjuWn1zEyjeG4OlZiYMKQN6QJQ4y7cm3lx8KQRq6 4WB24WE0ronwV95egMn/AlhED+kD7SVTtXBE5PQUK33v1xdVyB7qbMnKQAvaHw5tPSlk jzHkK4DnL8+931BsCwsk3dnaGjyRkg9eVoCZUVtjnHXxCrsJLEJgy2QObqWH/Ctr1VMT hcHhj7eqPDpOWxOx7o3NfQNmPP+wW9n4fF8g8MKND5ygwNnCL6kOYlLXjUx1Pg5xx+I7 EUGg== X-Forwarded-Encrypted: i=1; AFNElJ89JrYhfW59inLZ3gp3iB8FmTkKePIlJGtv1HchDsChtVVztJyveem4XIekJdi9BmbmELZcZgpa+FlE6aM=@vger.kernel.org X-Gm-Message-State: AOJu0YwcFXrlpP9urCJf8pEh833aBAURFNx5gvm38U6YKlOVyON/oDrp Z4YFeKQZA+A3xY+In7n1wKmxBVGrv0n0Xa6Q/7FVTj4VbXen1oU5ZSEMCM7Y9mQ5asI= X-Gm-Gg: AeBDievzdMl03p/Vdnwh9KzbWFf52ECcPm+JsX5/zn1UA2qIoFJ4lwYgeW7Ml9ANq+W EoK129GOQQ39NwBKoBRvVGGDycT9bchl/CXsEtqdU7Fc/3YTjuXODMXa+ZfbTReLwttTn12JWx0 cYGA56Mxt2hyGAV6Zg48ZYP77kKAYiD3NQPFWW9FxOXqV3piQG1WoLxdWzqYeQalcJS6xkXLj3d pWpMBtTxMDAR6wwFP+1T8fqgMaBffVY8LyzZyZ5IpzCYBOJXs0/kjQ2F/emCbvoEDXvF1BrgDZ+ +Y0GxBb8ItV/Y1s0vYVRZCmAt4syu8PkHgoKloT74UX/CY9nLOKE9zoupozgP4cPfF5vZkP3LU6 R1Ifx7Ev5nezdCrkgYr6TRLXVhCqkCLIkvzIS0YdDu+7MPpp3bWEoFYRU5wlkI2SnUheykvH4Y9 yF3eqvQUka5oMFih981SHs7qHr60rvPH6oS+kHVwt6Kkjqq6VuFPjC7qI8GGbZeP7upA10uhnZ1 c3iTpvnStRA9ViQLz44/8ji6g== X-Received: by 2002:a05:600c:6215:b0:47e:e2eb:bc22 with SMTP id 5b1f17b1804b1-48a988a9c49mr134437975e9.5.1777890015677; Mon, 04 May 2026 03:20:15 -0700 (PDT) Received: from localhost (p200300f65f114e08f5a4175dadf07882.dip0.t-ipconnect.de. [2003:f6:5f11:4e08:f5a4:175d:adf0:7882]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-48a81ed6bafsm561197875e9.2.2026.05.04.03.20.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 03:20:15 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Vinod Koul Cc: Markus Schneider-Pargmann , Basavaraj Natikar , Frank Li , Manivannan Sadhasivam , Viresh Kumar , Andy Shevchenko , dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] dmaengine: Consistently define pci_device_ids using named initializers Date: Mon, 4 May 2026 12:20:06 +0200 Message-ID: <20260504102008.1996139-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=7943; i=u.kleine-koenig@baylibre.com; h=from:subject; bh=s/6N5gB8DGjoEg4dSFAL94hJC0H4w9laOHrkxskMoWo=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBp+HLYOV/ZyjERRcweUg8Jts3cQoG6txIhaCre1 PXO8S/4u0yJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCafhy2AAKCRCPgPtYfRL+ TqAjB/sG9YsoRP2CSPOdFBEX96+ohj/sPR1GMwrTKgvFhAjTZyfr3o/e3UPmIklNTsgx2Ur2/En tt48/dbTkPPuyHBnpRA8R0/LYdGRug8MrLLF0gMMh+DXlC14m+s/ioHmVhZC9eFlDXdVWsfGzC3 AEpVsoG7SwhVptQoNiS30y8hAWJzrOtCAOc/w/EvpWC4+4cBjTscTMfhANO2LAXMwo7wdvkNIpz GZxZirkhsWTrOddE2AVmk3uyo44Cq+hlteRQumYScKUixhZ6Nwkh1iEUOm0iV3zoAw2xFudRwNW yccaNoF4Zm3yZJr4cBatR6/mBPFEAiKUZtuMcBSPePuHvu7U 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 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) --- 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 it's also a nice cleanup on its own. The anonymous union will allow changes like the following: - { PCI_VDEVICE(INTEL, 0x0827), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, + { PCI_VDEVICE(INTEL, 0x0827), .driver_data_ptr =3D &dw_dma_chip_pdata }, (together with the respective change in the code when the value is used). This gets rid of a bunch of casts and thus slightly improving type safety. Best regards Uwe --- drivers/dma/amd/ptdma/ptdma-pci.c | 4 ++-- drivers/dma/dw-edma/dw-edma-pcie.c | 2 +- drivers/dma/dw/pci.c | 22 +++++++++++----------- drivers/dma/hsu/pci.c | 4 ++-- drivers/dma/pch_dma.c | 26 +++++++++++++------------- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/drivers/dma/amd/ptdma/ptdma-pci.c b/drivers/dma/amd/ptdma/ptdm= a-pci.c index 22739ff0c3c5..0b226bec950c 100644 --- a/drivers/dma/amd/ptdma/ptdma-pci.c +++ b/drivers/dma/amd/ptdma/ptdma-pci.c @@ -223,9 +223,9 @@ static const struct pt_dev_vdata dev_vdata[] =3D { }; =20 static const struct pci_device_id pt_pci_table[] =3D { - { PCI_VDEVICE(AMD, 0x1498), (kernel_ulong_t)&dev_vdata[0] }, + { PCI_VDEVICE(AMD, 0x1498), .driver_data =3D (kernel_ulong_t)&dev_vdata[0= ] }, /* Last entry must be zero */ - { 0, } + { } }; MODULE_DEVICE_TABLE(pci, pt_pci_table); =20 diff --git a/drivers/dma/dw-edma/dw-edma-pcie.c b/drivers/dma/dw-edma/dw-ed= ma-pcie.c index 0b30ce138503..6c589d8b46e1 100644 --- a/drivers/dma/dw-edma/dw-edma-pcie.c +++ b/drivers/dma/dw-edma/dw-edma-pcie.c @@ -546,7 +546,7 @@ static void dw_edma_pcie_remove(struct pci_dev *pdev) static const struct pci_device_id dw_edma_pcie_id_table[] =3D { { PCI_DEVICE_DATA(SYNOPSYS, EDDA, &snps_edda_data) }, { PCI_VDEVICE(XILINX, PCI_DEVICE_ID_XILINX_B054), - (kernel_ulong_t)&xilinx_mdb_data }, + .driver_data =3D (kernel_ulong_t)&xilinx_mdb_data }, { } }; MODULE_DEVICE_TABLE(pci, dw_edma_pcie_id_table); diff --git a/drivers/dma/dw/pci.c b/drivers/dma/dw/pci.c index a3aae3d1c093..99565fab3565 100644 --- a/drivers/dma/dw/pci.c +++ b/drivers/dma/dw/pci.c @@ -98,29 +98,29 @@ static const struct dev_pm_ops dw_pci_dev_pm_ops =3D { =20 static const struct pci_device_id dw_pci_id_table[] =3D { /* Medfield (GPDMA) */ - { PCI_VDEVICE(INTEL, 0x0827), (kernel_ulong_t)&dw_dma_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x0827), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, =20 /* BayTrail */ - { PCI_VDEVICE(INTEL, 0x0f06), (kernel_ulong_t)&dw_dma_chip_pdata }, - { PCI_VDEVICE(INTEL, 0x0f40), (kernel_ulong_t)&dw_dma_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x0f06), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, + { PCI_VDEVICE(INTEL, 0x0f40), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, =20 /* Merrifield */ - { PCI_VDEVICE(INTEL, 0x11a2), (kernel_ulong_t)&idma32_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x11a2), .driver_data =3D (kernel_ulong_t)&idma32_ch= ip_pdata }, =20 /* Braswell */ - { PCI_VDEVICE(INTEL, 0x2286), (kernel_ulong_t)&dw_dma_chip_pdata }, - { PCI_VDEVICE(INTEL, 0x22c0), (kernel_ulong_t)&dw_dma_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x2286), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, + { PCI_VDEVICE(INTEL, 0x22c0), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, =20 /* Elkhart Lake iDMA 32-bit (PSE DMA) */ - { PCI_VDEVICE(INTEL, 0x4bb4), (kernel_ulong_t)&xbar_chip_pdata }, - { PCI_VDEVICE(INTEL, 0x4bb5), (kernel_ulong_t)&xbar_chip_pdata }, - { PCI_VDEVICE(INTEL, 0x4bb6), (kernel_ulong_t)&xbar_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x4bb4), .driver_data =3D (kernel_ulong_t)&xbar_chip= _pdata }, + { PCI_VDEVICE(INTEL, 0x4bb5), .driver_data =3D (kernel_ulong_t)&xbar_chip= _pdata }, + { PCI_VDEVICE(INTEL, 0x4bb6), .driver_data =3D (kernel_ulong_t)&xbar_chip= _pdata }, =20 /* Haswell */ - { PCI_VDEVICE(INTEL, 0x9c60), (kernel_ulong_t)&dw_dma_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x9c60), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, =20 /* Broadwell */ - { PCI_VDEVICE(INTEL, 0x9ce0), (kernel_ulong_t)&dw_dma_chip_pdata }, + { PCI_VDEVICE(INTEL, 0x9ce0), .driver_data =3D (kernel_ulong_t)&dw_dma_ch= ip_pdata }, =20 { } }; diff --git a/drivers/dma/hsu/pci.c b/drivers/dma/hsu/pci.c index 0fcc0c0c22fc..b42c9c0887a8 100644 --- a/drivers/dma/hsu/pci.c +++ b/drivers/dma/hsu/pci.c @@ -116,8 +116,8 @@ static int hsu_pci_probe(struct pci_dev *pdev, const st= ruct pci_device_id *id) } =20 static const struct pci_device_id hsu_pci_id_table[] =3D { - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MFLD_HSU_DMA), 0 }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MRFLD_HSU_DMA), 0 }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MFLD_HSU_DMA) }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MRFLD_HSU_DMA) }, { } }; MODULE_DEVICE_TABLE(pci, hsu_pci_id_table); diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index e9fbfd5a3d51..0ecc10b9288d 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c @@ -956,19 +956,19 @@ static void pch_dma_remove(struct pci_dev *pdev) #define PCI_DEVICE_ID_ML7831_DMA2_4CH 0x8815 =20 static const struct pci_device_id pch_dma_id_table[] =3D { - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_EG20T_PCH_DMA_8CH), 8 }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_EG20T_PCH_DMA_4CH), 4 }, - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA1_8CH), 8}, /* UART Video */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA2_8CH), 8}, /* PCMIF SPI */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA3_4CH), 4}, /* FPGA */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA4_12CH), 12}, /* I2S */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA1_4CH), 4}, /* UART */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA2_4CH), 4}, /* Video SPI */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA3_4CH), 4}, /* Security */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA4_4CH), 4}, /* FPGA */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_DMA1_8CH), 8}, /* UART */ - { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_DMA2_4CH), 4}, /* SPI */ - { 0, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_EG20T_PCH_DMA_8CH), .driver_data =3D 8= }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_EG20T_PCH_DMA_4CH), .driver_data =3D 4= }, + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA1_8CH), .driver_data =3D 8 },= /* UART Video */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA2_8CH), .driver_data =3D 8 },= /* PCMIF SPI */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA3_4CH), .driver_data =3D 4 },= /* FPGA */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_DMA4_12CH), .driver_data =3D 12 = }, /* I2S */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA1_4CH), .driver_data =3D 4 },= /* UART */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA2_4CH), .driver_data =3D 4 },= /* Video SPI */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA3_4CH), .driver_data =3D 4 },= /* Security */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_DMA4_4CH), .driver_data =3D 4 },= /* FPGA */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_DMA1_8CH), .driver_data =3D 8 },= /* UART */ + { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_DMA2_4CH), .driver_data =3D 4 },= /* SPI */ + { }, }; =20 static SIMPLE_DEV_PM_OPS(pch_dma_pm_ops, pch_dma_suspend, pch_dma_resume); base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 --=20 2.47.3