On Tue, 26 May 2026 at 16:18, Uwe Kleine-König (The Capable Hub) <[email protected]> wrote: > Technically it is fine (on all current Linux architectures) to store a > pointer in an unsigned long variable. However this needs explicit > casting which is an easy source for type mismatches. > > By replacing the plain unsigned long .driver_data in struct > zorro_device_id by an anonymous union, most of the casting can be > dropped. There is still some implicit casting involved (between a void * > and a driver specific pointer type), but that's better than the approach > to store a pointer in an unsigned long variable as this doesn't lose the > information that the data being pointed to is const. > > All users of struct zorro_device_id are initialized in a way that is > compatible with the new definition, so no adaptions are needed there. > > Signed-off-by: Uwe Kleine-König (The Capable Hub) > <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
