[PATCH v1 0/8] zorro: Improve handling of pointers in zorro_device_id::driver_data

From: Uwe Kleine-König (The Capable Hub)

Date: Tue May 26 2026 - 10:19:32 EST


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