From nobody Sat Jun 13 13:09:19 2026 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 EA737364059 for ; Thu, 7 May 2026 07:41:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778139672; cv=none; b=PT2M4N+FMmpoSzjZCjNymjBZmvIRPInLFdL5hKJ2fWLm+5brNw0JZEgTcu15ENTb6lSqOg1X1UfQfzFIyLT3BcejwmW5PlxQMQHLKf8FEtuXKTZW2Cs4xTg134YWrUB//cOrFPqYYYt8HBWLHP/zWX484Mp8nxhIIvfp4zLldts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778139672; c=relaxed/simple; bh=zYn0NAbMIemhcf9KQ7HHXMBNR44M5VU7D/E/Bh5tCuY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=EIF9bD1OLqWH0ZR974P8K22FiVOhMGp4Q6IV7GS4WAseZp29NcBQQQks4lwaWWi/EfsuEB0nn8/epT0+6VyZY6tXmDG2ChEjL3xsGtwiFmpQ6bOdPIZ4F27c8Gmi7KQKv7RpSOb/on9qqZPz3DORUVMXh01vVqzj4Cmnu5CTP68= 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=k4RrVddN; arc=none smtp.client-ip=209.85.221.51 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="k4RrVddN" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-43d76dd4ee8so464339f8f.2 for ; Thu, 07 May 2026 00:41:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1778139668; x=1778744468; 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=TDs0FjTJGyLZfxxKCIU9nMCf+BNfVsDVGApUmlQVDlk=; b=k4RrVddNw/zz8Q08pqlXxp+DsYkEihzt7XAlz+oii12LKKBFrdfdowYuKwUr3KVN2w Nzywq1Rk0fZbkDt4FZCmwftaZxM+7ugD5GfjPnZxGCT/n/3MGIUIgFxNX2vSvdLf1xe/ PRUf4sbeRm9assfeusNSXEdNeybNOUzJcQR+q3buo8hP3uR12h7MMYbIsHyDg9lJDGBf vBsQPOEF0DFCySGxT09PLcLgA5//qgbDTSKAfplkohQbG/7anJD3Yt9ncmkDEw/MAaTu 6OpKwRI9DZca8XD/0wc9jhNBpZbUrq8rgJLXdk3l3XIXuaTuL+jz4dkRcV/+A81Lyadh dYxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778139668; x=1778744468; 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=TDs0FjTJGyLZfxxKCIU9nMCf+BNfVsDVGApUmlQVDlk=; b=nhEG/R4Qya3ltY01K2NDdHypTDO4C7fNnuMzRYy/neOTC2e6m28rvJ/CVnAuCOQCWM xY8z15tN9sh2S5pVIMeH9bN/EGb32tUIoygD0NP2eT0E0AIFVFTQ7W9PtIfij1v0mfGr LLB7N0ZBdvRpskT1oWV/1zv1DJ7Eo37N38xTsJtgiOorxLN1MA6CCTyGLpdNKXV0YcvX jmuGC7wLyRYxHVctdOFw0/P4IqsJyzg4wiOJ79027SGssYRQT0I92uZCNwKsT6U2Ir3v EBBMJRBaejpaFH9GA5szU1VZqSFFuMQTJndRIoRsHt6alpKg9ru4Co0cMwwVT/vveenP sLBQ== X-Forwarded-Encrypted: i=1; AFNElJ+ix4nchZFsPUDQL/mbrSVucaAnIJJvh/+YxWdzG7pdiEngZU0mEB3DDuC39vqbmgMEZeD4ZTXeErQ1zeI=@vger.kernel.org X-Gm-Message-State: AOJu0YzLzNe83s6wysGDTCO7f8GP/HLlkTjREoQyurDk93HtpgIyC47g LoVK+GNrafE8mmSWbl3FctxBYcoti/WscRBGUAKQWgop7N4gYMJzN539gVXdAmyJA90= X-Gm-Gg: AeBDieu6Y0ocL7aJ0CZNBky4vBhXFcBPVVAv14C24tAZdsn9xYemIqdHN7AgFjW2Ly0 GlkV/pXBE54+exdCoT13YS98SKUJxjWLrhKdbBbQ9oo8t0m4WJ1wdJroUgcTac2eUUlS6Wf86ZJ mjtG1P9z1UDvlJjt3eBTn7p0orW9teoO9nPmAKz3DJcH4L3eUkT1AgSiViS6zo5PVNOcURibGv3 Nk26bicA7mj0iVLOeAGr480AQFYGL/ohsfpRkKDuZ5UEeO5aSh/fPc47P+gbH30o2CeksN4ZCQe 7F4pQXd5uPQgAJNZLoGRVgSAuaD/xUqgPPxSR6k0bGO6ZuuEWRCUT1C1EGeFqoxMPDaRKh1XKBm 2BiIx7rFounJYsDkgC5rK6wbUesArt6tSIwdbfxaG4DBuhCL4r0mzU5hPZivjPGrAFPDklfW6qE BUQwZw971qr4UhgIKImUJEPXpHTGNZaddynNOMXBHxKAVQR4YFVwNkoakuf404B7LoXYT8pDpWB PW30QOKt9MyJ6NnO0fgL23gjr4A1If52V05 X-Received: by 2002:a05:6000:a86:b0:452:a209:560 with SMTP id ffacd0b85a97d-452a209059emr3208881f8f.28.1778139668151; Thu, 07 May 2026 00:41:08 -0700 (PDT) Received: from localhost (p200300f65f114e08ac341e0bb79e5496.dip0.t-ipconnect.de. [2003:f6:5f11:4e08:ac34:1e0b:b79e:5496]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-45052a48f63sm17954621f8f.16.2026.05.07.00.41.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2026 00:41:07 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Basavaraj Natikar , Shyam Sundar S K , Jon Mason , Dave Jiang , Allen Hubbe Cc: Markus Schneider-Pargmann , ntb@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH] ntb: amd: Use named initializer for pci_device_id::driver_data Date: Thu, 7 May 2026 09:41:01 +0200 Message-ID: <20260507074102.2654314-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=4704; i=u.kleine-koenig@baylibre.com; h=from:subject; bh=zYn0NAbMIemhcf9KQ7HHXMBNR44M5VU7D/E/Bh5tCuY=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBp/EIObM8Rtcc5+1yOYV1qUxbS+iKJcKfF0+RDc q+r0WJuc96JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCafxCDgAKCRCPgPtYfRL+ Tr34B/0fLp//mb91LE3usxH9TeOtQD8ro7NysCPa1yli0eM/eeIbhwZLwmqOxR66+pCd/yAyn7c N4AwHji7KdBu3lSbR+NElArzKRHF+k9hKylgX7cY1QHqglQCVeq/x1rKo3/AO4+uw7ubt/Zw6Mi xcoMTXchqUYBa27iFPFu2CEhdLA/j7r017JxifqALHGJptPa8bsZgMjBm4N4Rc0GFHdGuup5r/s lCDkAeHrsnHP68TY303p0hpx/dmQhhmC+JB20tqt+W6m/Z/AVE/+j651xzKV+ATeW4nfo/Q+tQ9 M5CqWTkwLeLCCMcvwjyeSrJXQleTLW/Q7JpFp/URo7ivYExX X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable The current list initialisation depends on the well hidden two zeros in the PCI_VDEVICE macro. Instead use a named initialisation that is more robust and easier to understand. Signed-off-by: Uwe Kleine-K=C3=B6nig (The Capable Hub) Reviewed-by: Dave Jiang --- Hello, while being a cleanup that can stand on its own this is also a preparation for making .driver_data an anonymous union which allows to do: diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_a= md.c index 55408b431365..ee77d1235ec4 100644 --- a/drivers/ntb/hw/amd/ntb_hw_amd.c +++ b/drivers/ntb/hw/amd/ntb_hw_amd.c @@ -1233,7 +1233,7 @@ static int amd_ntb_pci_probe(struct pci_dev *pdev, goto err_ndev; } - ndev->dev_data =3D (struct ntb_dev_data *)id->driver_data; + ndev->dev_data =3D id->driver_data_ptr; ndev_init_struct(ndev, pdev); @@ -1328,14 +1328,14 @@ static const struct ntb_dev_data dev_data[] =3D { }; static const struct pci_device_id amd_ntb_pci_tbl[] =3D { - { PCI_VDEVICE(AMD, 0x145b), .driver_data =3D (kernel_ulong_t)&dev_data[0= ] }, - { PCI_VDEVICE(AMD, 0x148b), .driver_data =3D (kernel_ulong_t)&dev_data[1= ] }, - { PCI_VDEVICE(AMD, 0x14c0), .driver_data =3D (kernel_ulong_t)&dev_data[1= ] }, - { PCI_VDEVICE(AMD, 0x14c3), .driver_data =3D (kernel_ulong_t)&dev_data[1= ] }, - { PCI_VDEVICE(AMD, 0x155a), .driver_data =3D (kernel_ulong_t)&dev_data[1= ] }, - { PCI_VDEVICE(AMD, 0x17d4), .driver_data =3D (kernel_ulong_t)&dev_data[1= ] }, - { PCI_VDEVICE(AMD, 0x17d7), .driver_data =3D (kernel_ulong_t)&dev_data[2= ] }, - { PCI_VDEVICE(HYGON, 0x145b), .driver_data =3D (kernel_ulong_t)&dev_data= [0] }, + { PCI_VDEVICE(AMD, 0x145b), .driver_data_ptr =3D &dev_data[0] }, + { PCI_VDEVICE(AMD, 0x148b), .driver_data_ptr =3D &dev_data[1] }, + { PCI_VDEVICE(AMD, 0x14c0), .driver_data_ptr =3D &dev_data[1] }, + { PCI_VDEVICE(AMD, 0x14c3), .driver_data_ptr =3D &dev_data[1] }, + { PCI_VDEVICE(AMD, 0x155a), .driver_data_ptr =3D &dev_data[1] }, + { PCI_VDEVICE(AMD, 0x17d4), .driver_data_ptr =3D &dev_data[1] }, + { PCI_VDEVICE(AMD, 0x17d7), .driver_data_ptr =3D &dev_data[2] }, + { PCI_VDEVICE(HYGON, 0x145b), .driver_data_ptr =3D &dev_data[0] }, { } }; MODULE_DEVICE_TABLE(pci, amd_ntb_pci_tbl); which is also a nice cleanup *and* further hints at also doing diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.h b/drivers/ntb/hw/amd/ntb_hw_a= md.h index e8c3165fa38b..4ef7bafd21f7 100644 --- a/drivers/ntb/hw/amd/ntb_hw_amd.h +++ b/drivers/ntb/hw/amd/ntb_hw_amd.h @@ -186,7 +186,7 @@ struct amd_ntb_dev { u32 cntl_sta; u32 peer_sta; - struct ntb_dev_data *dev_data; + const struct ntb_dev_data *dev_data; unsigned char mw_count; unsigned char spad_count; unsigned char db_count; due to a compiler warning. So all in all this yields easier to read initialisation (not shorter and more compact but easier to grasp), better type safety and harder to make mistakes due to the added const. Best regards Uwe --- drivers/ntb/hw/amd/ntb_hw_amd.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_am= d.c index 1a163596ddf5..55408b431365 100644 --- a/drivers/ntb/hw/amd/ntb_hw_amd.c +++ b/drivers/ntb/hw/amd/ntb_hw_amd.c @@ -1328,15 +1328,15 @@ static const struct ntb_dev_data dev_data[] =3D { }; =20 static const struct pci_device_id amd_ntb_pci_tbl[] =3D { - { PCI_VDEVICE(AMD, 0x145b), (kernel_ulong_t)&dev_data[0] }, - { PCI_VDEVICE(AMD, 0x148b), (kernel_ulong_t)&dev_data[1] }, - { PCI_VDEVICE(AMD, 0x14c0), (kernel_ulong_t)&dev_data[1] }, - { PCI_VDEVICE(AMD, 0x14c3), (kernel_ulong_t)&dev_data[1] }, - { PCI_VDEVICE(AMD, 0x155a), (kernel_ulong_t)&dev_data[1] }, - { PCI_VDEVICE(AMD, 0x17d4), (kernel_ulong_t)&dev_data[1] }, - { PCI_VDEVICE(AMD, 0x17d7), (kernel_ulong_t)&dev_data[2] }, - { PCI_VDEVICE(HYGON, 0x145b), (kernel_ulong_t)&dev_data[0] }, - { 0, } + { PCI_VDEVICE(AMD, 0x145b), .driver_data =3D (kernel_ulong_t)&dev_data[0]= }, + { PCI_VDEVICE(AMD, 0x148b), .driver_data =3D (kernel_ulong_t)&dev_data[1]= }, + { PCI_VDEVICE(AMD, 0x14c0), .driver_data =3D (kernel_ulong_t)&dev_data[1]= }, + { PCI_VDEVICE(AMD, 0x14c3), .driver_data =3D (kernel_ulong_t)&dev_data[1]= }, + { PCI_VDEVICE(AMD, 0x155a), .driver_data =3D (kernel_ulong_t)&dev_data[1]= }, + { PCI_VDEVICE(AMD, 0x17d4), .driver_data =3D (kernel_ulong_t)&dev_data[1]= }, + { PCI_VDEVICE(AMD, 0x17d7), .driver_data =3D (kernel_ulong_t)&dev_data[2]= }, + { PCI_VDEVICE(HYGON, 0x145b), .driver_data =3D (kernel_ulong_t)&dev_data[= 0] }, + { } }; MODULE_DEVICE_TABLE(pci, amd_ntb_pci_tbl); =20 base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 --=20 2.47.3