From nobody Sun Jun 14 00:16:56 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 A90C13DD51B for ; Tue, 5 May 2026 07:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777966260; cv=none; b=rLETe6TBaz9OrWU8tH58ArGaG8sEPoBGxCRGH5LNBFLgByq7Y6hVbvru5JaatkDN2t4yzL3PwGr9ZVx08ZU4WpfpvAY85gOKTenFAPOwjQ/ywXfqzt+oCVSTTjhXRINxwtASxWu+QKqFMZ2WfQyqou5OJjZ8yyuK4TNKWCN7ZLk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777966260; c=relaxed/simple; bh=/UpE1UNcwchg1Y9VdeZE39/R1Nq1x7H30NWCv538Ec4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=ooU+tT7qpOBYD93XcrlapnQF6b3B7NkCxSgQkv/PsjuWAwSO60FsYNRD8B9QS2YJYMht9sYrTI80uNv/GIEJANXfMWWDTr+wo3/x4MOV0Ee/xt8PrkWHdN4V1MxqlAtZU0CDwJx06boNPdOWDojCx/Jf3Aps1zXUj1RK2Gt1bfo= 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=vcfh1huP; arc=none smtp.client-ip=209.85.128.49 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="vcfh1huP" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-48909558b3aso53205995e9.0 for ; Tue, 05 May 2026 00:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777966256; x=1778571056; 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=kf/oOS5r8iW2RgiZUnxJUAr+rDZ+oMCyJYQpERo87AY=; b=vcfh1huPIH5CTcDq0uW/Jn+UlvXcMWsxKtUxFggFwJny7Ef1lTgyXjntte4y22Slr8 /ZZCZ65vMVoCwIHZHJj5K9wzoio7bh1mi9SC0dziwnB0MDUhtXK9rQ1vCUZtHv/EBYwm UqmPujBF2TiKAUQPIECZ8c7CVWHcMKq95R0sf5QksRY+4Qut1OE6vR+KyMI9WPnkupfZ p6lVVerqcRtEpDp7+LdkfbMJHBaOzZslFgn4puVv75/RCDmqvvDvBpxob3unShMq/NVs rZmlrsuKKvYY3zGVQJegt1Q8NoSGBNJx91NYhdNUEZArIV3+W0XRLzmrvoEnKbIrQgbF 6jPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777966256; x=1778571056; 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=kf/oOS5r8iW2RgiZUnxJUAr+rDZ+oMCyJYQpERo87AY=; b=qQq59vLk2Vp46VLHRKdeNmma4cs66losuj4M63VfnlKM3ggsa10E36MnS9cEu1v6s9 9r7wsLSoEGVelypmh8C0LIGAzOPksb4d0TzT8tqSXqjSFLH9e6UWUDSU3SNDD6pU42e5 Ppy0eb0M529/CEiplUZ4SEKUTbf1m4UDFWDJp4r54zRu67/KOtxWDrjMAeItwupMNJ5l Qtklpl4VplyZVxBM6NwVo+FDq1LEuNcQX1Etmcn314zNu3L/GPqQF/hngS0WVk+xTS+V EnLmEEyR7laJuRhDhPG6Ii2acBHZEItHbZ7H/WrGm4ZJHEbYlUGb+3DtPcAhQ+rnhtaM xyew== X-Forwarded-Encrypted: i=1; AFNElJ9EbQqAg7blxJ/tgHDQ8QkGLbHbquQw45pEes7lYizhVgD6h3uMgqgv2nATUiefICPaoJUEAD27x6eZ7hg=@vger.kernel.org X-Gm-Message-State: AOJu0YzMYusYBvlPM1VI9O/Md/Lq9uQVAq1hlIHrY5pPb/s7HMtbtfKE Mtzo1c3Tg0/UAi9EIZYIyG5SS36dXwq3vmqK5HM/Qbx09LPmAnphD4fePR/ReyuTZ58= X-Gm-Gg: AeBDieuAg6r721ODDzLT34W18GRZ/vZM/UfEfdz5iUHcZbaB4fAyoiTWiJXQXSMvnJj vqB1LCrEiCNchAwgiEzpZDQz72KW8oDFk4T5yNDawyFnMrQVZzw6IGJN91zRBReXIvGzfeydyEv jkUsdUNT3GTQ5aTBC5tSokjRQ2H0oHL1C3yelkFMgpF4t39Clnd2KqIKrbPUN7ZkULqMHWz7Ty6 UPnlCGJINlACFTquSVk9RIISFe3tCalhGMUu5vrzBfPoSBjq/G7/6B9Un3IuD7DLmnD+7+yBhZA jHgn12HrA4/4rpRH85/QASjPZe6/9EOyxJSDt2TOIN4JLo7qv04WJjATtrld4mUcVv6yaEih+wl Mk/eq8Yhog4V9UEq9p82v+55nN67ZulZK0pz7UMjyur7BttExIK3obqQSKvsQkaZwyWmBjMcWzw g0OiE7h90LJgGTLqU9SFjsj3u7eddV9zsPVaifIvjmD56oLosURxSAnp6KsLHl9pcAdH3Q1hUwh HV/6NAQJm8m4D7xFJJQniCX3g== X-Received: by 2002:a05:6000:2407:b0:43f:e272:edff with SMTP id ffacd0b85a97d-44bb32fd8b5mr20795785f8f.4.1777966255961; Tue, 05 May 2026 00:30:55 -0700 (PDT) Received: from localhost (p200300f65f114e082236c6257eff72a1.dip0.t-ipconnect.de. [2003:f6:5f11:4e08:2236:c625:7eff:72a1]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-45052483166sm2515475f8f.7.2026.05.05.00.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 00:30:55 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Greg Kroah-Hartman , Jiri Slaby , Lukas Wunner , Dave Jiang , Giovanni Cabiddu , Kees Cook Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Markus Schneider-Pargmann Subject: [PATCH] serial: jsm: Use named initializers for struct pci_device_id Date: Tue, 5 May 2026 09:30:44 +0200 Message-ID: <20260505073044.2258674-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=4956; i=u.kleine-koenig@baylibre.com; h=from:subject; bh=/UpE1UNcwchg1Y9VdeZE39/R1Nq1x7H30NWCv538Ec4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBp+ZykFbMjoBaL8OaUI8o4ojfpT+BWiJO/QNov7 AfUFLtPpcaJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCafmcpAAKCRCPgPtYfRL+ Ti6pCACLT+f+jdGW7v+Oe3schOllsgVCNFrJTwRg70tDHFyXaAXVvRTr6T/aYHyeonk/Q2iO3MA koAGL6PdAB8kno2p2kgQRA0gpIU0u4wBcg0cbZCWCdEQ8vf+RhzhjatJiqS402BG5gzRotyklBU nEQcWEjMIbgNTZ8L7rgPEyvjymRbnaYiOIEKGref7yiUpLPLtX2b7YoSfC3K5a4Xb7O4rETzPSO eFzB479WKzIEm9X0QHnurCdPRIpL8jP41iqyr4h8XF+H+047Li3Po8EGsdOdE4AnqJ+lRGTH7SL Hp6vGxOBQ6cN+QF5DQkPLqXyTCMNNXuhJfEcDGlpLa5e0QGO X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable Initializing structures using list initializers is harder to read than using named initializers. Seeing the member name is more ideomatic and easier to understand. Use named initializers for the driver's pci_device_id array. While at it also drop an explicit zero in the terminating array entry. There are no changes to the compiled result of the array; verified with builds for x86 and arm64. Signed-off-by: Uwe Kleine-K=C3=B6nig (The Capable Hub) --- Hello, this is a preparing change for making 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/). This requires named initializers for .driver_data. But even without that this is a nice cleanup making the array better readable. Having said that I didn't find where .driver_data is used, so unless I missed something the assignments can just go away??? For earlier patches of this type against other drivers I got the feedback to use PCI_DEVICE_DATA() but I don't like that as it mixes hardware properties (.vendor and .device) with driver specific software properties (.driver_data) and thus I prefer the explicit listing (involving more repetition) over the shorter variant (being more opaque and harder to read). Best regards Uwe drivers/tty/serial/jsm/jsm_driver.c | 75 +++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 19 deletions(-) diff --git a/drivers/tty/serial/jsm/jsm_driver.c b/drivers/tty/serial/jsm/j= sm_driver.c index 4b73e51f83fb..422cac8d8d71 100644 --- a/drivers/tty/serial/jsm/jsm_driver.c +++ b/drivers/tty/serial/jsm/jsm_driver.c @@ -296,25 +296,62 @@ static void jsm_remove_one(struct pci_dev *pdev) } =20 static const struct pci_device_id jsm_pci_tbl[] =3D { - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2DB9), 0, 0, 0 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2DB9PRI), 0, 0, 1 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2RJ45), 0, 0, 2 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2RJ45PRI), 0, 0, 3 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4_IBM), 0, 0, 4 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_NEO_8), 0, 0, 5 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_4), 0, 0, 6 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_1_422), 0, 0, 7 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_1_422_485), 0, 0, 8 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2_422_485), 0, 0, 9 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_8), 0, 0, 10 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4), 0, 0, 11 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4RJ45), 0, 0, 12 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_8RJ45), 0, 0, 13 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_4), 0, 0, 14 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_4_422), 0, 0, 15 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_8), 0, 0, 16 }, - { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_8_422), 0, 0, 17 }, - { 0, } + { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2DB9), + .driver_data =3D 0, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2DB9PRI), + .driver_data =3D 1, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2RJ45), + .driver_data =3D 2, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2RJ45PRI), + .driver_data =3D 3, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4_IBM), + .driver_data =3D 4, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_NEO_8), + .driver_data =3D 5, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_4), + .driver_data =3D 6, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_1_422), + .driver_data =3D 7, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_1_422_485), + .driver_data =3D 8, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2_422_485), + .driver_data =3D 9, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_8), + .driver_data =3D 10, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4), + .driver_data =3D 11, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4RJ45), + .driver_data =3D 12, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_8RJ45), + .driver_data =3D 13, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_4), + .driver_data =3D 14, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_4_422), + .driver_data =3D 15, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_8), + .driver_data =3D 16, + }, { + PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_CLASSIC_8_422), + .driver_data =3D 17, + }, + { } }; MODULE_DEVICE_TABLE(pci, jsm_pci_tbl); =20 base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 --=20 2.47.3