* [PATCH v1 net-next] s390/ism: Drop superflous zeros in pci_device_id array
@ 2026-05-22 15:30 Uwe Kleine-König (The Capable Hub)
2026-05-22 15:54 ` Breno Leitao
0 siblings, 1 reply; 2+ messages in thread
From: Uwe Kleine-König (The Capable Hub) @ 2026-05-22 15:30 UTC (permalink / raw)
To: Alexandra Winter, Aswin Karuvally
Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
Christian Borntraeger, Sven Schnelle, linux-s390, netdev,
linux-kernel
The .driver_data member of the struct pci_device_id array were
initialized by a list expressions to zero without making use of that
value. In this case it's better to not specify a value at all and let
the compiler fill in the zeros. Same for the list terminator that can
better be completely empty.
This patch doesn't introduce changes to the compiled array.
Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
---
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-mid/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 {
static int mid_pwr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
{
- struct mid_pwr_device_info *info = (void *)id->driver_data;
+ struct mid_pwr_device_info *info = id->driver_data_ptr;
struct device *dev = &pdev->dev;
struct mid_pwr *pwr;
int ret;
@@ -471,8 +471,8 @@ static const struct mid_pwr_device_info tng_info = {
/* 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[] = {
- { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_PENWELL), .driver_data = (kernel_ulong_t)&pnw_info },
- { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_TANGIER), .driver_data = (kernel_ulong_t)&tng_info },
+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_PENWELL), .driver_data_ptr = &pnw_info },
+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_TANGIER), .driver_data_ptr = &tng_info },
{}
};
which is a nice improvement dropping three casts and that will make the
compiler say:
arch/x86/platform/intel-mid/pwr.c: In function ‘mid_pwr_probe’:
arch/x86/platform/intel-mid/pwr.c:350:44: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
350 | struct mid_pwr_device_info *info = id->driver_data_ptr;
| ^~
(so it promotes that driver data is supposed to be const).
The patch under discussion touches the only pci driver below
drivers/s390, so the example is from a different subsystem. Also this
means no further patches for this part of my quest to that subsystem.
Best regards
Uwe
drivers/s390/net/ism_drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/s390/net/ism_drv.c b/drivers/s390/net/ism_drv.c
index 7d0479e4e095..d99c588d3e00 100644
--- a/drivers/s390/net/ism_drv.c
+++ b/drivers/s390/net/ism_drv.c
@@ -23,8 +23,8 @@ MODULE_LICENSE("GPL");
#define DRV_NAME "ism"
static const struct pci_device_id ism_device_table[] = {
- { PCI_VDEVICE(IBM, PCI_DEVICE_ID_IBM_ISM), 0 },
- { 0, }
+ { PCI_VDEVICE(IBM, PCI_DEVICE_ID_IBM_ISM) },
+ { }
};
MODULE_DEVICE_TABLE(pci, ism_device_table);
base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v1 net-next] s390/ism: Drop superflous zeros in pci_device_id array
2026-05-22 15:30 [PATCH v1 net-next] s390/ism: Drop superflous zeros in pci_device_id array Uwe Kleine-König (The Capable Hub)
@ 2026-05-22 15:54 ` Breno Leitao
0 siblings, 0 replies; 2+ messages in thread
From: Breno Leitao @ 2026-05-22 15:54 UTC (permalink / raw)
To: Uwe Kleine-König (The Capable Hub)
Cc: Alexandra Winter, Aswin Karuvally, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Heiko Carstens,
Vasily Gorbik, Alexander Gordeev, Christian Borntraeger,
Sven Schnelle, linux-s390, netdev, linux-kernel
On Fri, May 22, 2026 at 05:30:09PM +0200, Uwe Kleine-König (The Capable Hub) wrote:
> Subject: [PATCH v1 net-next] s390/ism: Drop superflous zeros in pci_device_id array
Nit: s/superflous/superfluous/ ?
> The .driver_data member of the struct pci_device_id array were
> initialized by a list expressions to zero without making use of that
> value. In this case it's better to not specify a value at all and let
> the compiler fill in the zeros. Same for the list terminator that can
> better be completely empty.
>
> This patch doesn't introduce changes to the compiled array.
True. For a `static const` aggregate, omitted members are
zero-initialized per C99 6.7.8, so dropping the trailing `, 0` and
collapsing `{ 0, }` to `{ }` is a no-op at the object level.
> Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-22 15:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-22 15:30 [PATCH v1 net-next] s390/ism: Drop superflous zeros in pci_device_id array Uwe Kleine-König (The Capable Hub)
2026-05-22 15:54 ` Breno Leitao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox