[PATCH v1 0/8] zorro: Improve handling of pointers in zorro_device_id::driver_data
From: Uwe Kleine-König (The Capable Hub) <hidden>
Date: 2026-05-26 14:18:01
Also in:
dri-devel, linux-i2c, linux-ide, linux-m68k, linux-scsi, lkml, netdev
Hello, this series is about improving the handling of pointers in struct zorro_device_id's driver_data. While it's ok on all current Linux platforms to store a pointer in an unsigned long variable, it involves casting that loses type information. This can be nicely seen in patch #7 where after profiting from patch #6 the compiler notices a missing const. Preparing for that change, all zorro_device_ids are converted to use named initializers, which is also a nice cleanup that could stand for itself, as it improves readability for humans. (That is necessary because an anonymous union can be initialized by name, but not using a list initializer.) My motivation for this series is the CHERI hardware extension. With that pointers are bigger than longs and thus you cannot store pointers in zorro_device_id::driver_data. So this series is also about getting support for CHERI into the mainline, but I hope the clean up effects mentioned above are justification enough to accept this series. The dependencies in this series are as follows: - Patch #5 depends on #1, #2 - Patches #7 and #8 depend on patch #6. So if the ata maintainers agreed to merge their patch #1 via scsi, and Geert agrees to patch #5 and that it's also merged via scsi, patches #1, #2, #6 and #7 can go in without further coordination. Patches #3, #4 and #5 are only about using the same initialization style for all zorro_device_id and can go in without coordination. Best regards Uwe Uwe Kleine-König (The Capable Hub) (8): ata: pata_budda: Use named initializer for zorro_device_id scsi: Use named initializer for zorro_device_id net: Use named initializer for zorro_device_id arrays i2c: icy: Use named initializer for zorro_device_id arrays video: fm2fb: Use named initializer for zorro_device_id array zorro: Simplify storing pointers in device id struct scsi: zorro7xx: Make use of struct zorro_device_id::driver_data_ptr video: cirrusfb: Make use of struct zorro_device_id::driver_data_ptr drivers/ata/pata_buddha.c | 8 ++++---- drivers/i2c/busses/i2c-icy.c | 4 ++-- drivers/net/ethernet/8390/hydra.c | 4 ++-- drivers/net/ethernet/8390/xsurf100.c | 4 ++-- drivers/net/ethernet/8390/zorro8390.c | 6 +++--- drivers/net/ethernet/amd/a2065.c | 8 ++++---- drivers/net/ethernet/amd/ariadne.c | 4 ++-- drivers/scsi/a2091.c | 6 +++--- drivers/scsi/gvp11.c | 17 ++++++++-------- drivers/scsi/zorro7xx.c | 16 +++++++-------- drivers/scsi/zorro_esp.c | 2 +- drivers/video/fbdev/cirrusfb.c | 28 +++++++++++++-------------- drivers/video/fbdev/fm2fb.c | 6 +++--- include/linux/mod_devicetable.h | 6 +++++- 14 files changed, 62 insertions(+), 57 deletions(-) base-commit: d387b06f7c15b4639244ad66b4b0900c6a02b430 -- 2.47.3