public inbox for linux-sound@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/2] firewire: Simplify storing pointers in device id struct
@ 2026-04-19  6:42 Uwe Kleine-König (The Capable Hub)
  2026-04-19  6:42 ` [PATCH v1 1/2] " Uwe Kleine-König (The Capable Hub)
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Uwe Kleine-König (The Capable Hub) @ 2026-04-19  6:42 UTC (permalink / raw)
  To: Clemens Ladisch, Takashi Sakamoto, Jaroslav Kysela, Takashi Iwai
  Cc: Christian A. Ehrhardt, Christian A. Ehrhardt, linux1394-devel,
	linux-sound, Wolfram Sang, Andy Shevchenko

Hello,

<linux/mod_devicetable.h> contains several device_id structs for various
device types.

Most of them have one of:

 - kernel_ulong_t driver_data (sometimes called "driver_info", sometimes 
   the type is plain unsigned long)
 - const void *data (sometimes called "driver_data" or "context", sometimes not const)

A considerable amount of drivers for the first category uses the
unsigned long variable to store a pointer. This involves casting both
for assignment and usage.

An additional complication exists for the CHERI hardware extension
where sizeof(void *) > sizeof(unsigned long). So with that an unsigned
long variable cannot be used to store a pointer.

To address both issues this series replaces the unsigned long variable
by an anonymous union containing both an unsigned long and a pointer.

For all non-CHERI architectures this isn't an ABI change because all
have sizeof(void *) == sizeof(unsigned long).

The first patch changes the definition of struct ieee1394_device_id. The
second drops some casts in sound drivers. (There are no other firewire
drivers that could benefit.) I adapted all sound drivers in a single
patch, tell me if I should split per driver.

For merging I suggest to take the whole series via the ALSA tree in the
next merge window, as there are no modified files that are specific to
firewire only and the second patch depends on the first.

Best regards
Uwe

Uwe Kleine-König (The Capable Hub) (2):
  firewire: Simplify storing pointers in device id struct
  ALSA: firewire: Make use of ieee1394's .driver_data_ptr

 include/linux/mod_devicetable.h |  5 ++++-
 sound/firewire/dice/dice.c      | 34 ++++++++++++++++-----------------
 sound/firewire/fireface/ff.c    | 12 ++++++------
 sound/firewire/motu/motu.c      |  6 +++---
 sound/firewire/oxfw/oxfw.c      |  4 ++--
 5 files changed, 32 insertions(+), 29 deletions(-)


base-commit: 028ef9c96e96197026887c0f092424679298aae8
-- 
2.47.3


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-04-27  8:07 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-19  6:42 [PATCH v1 0/2] firewire: Simplify storing pointers in device id struct Uwe Kleine-König (The Capable Hub)
2026-04-19  6:42 ` [PATCH v1 1/2] " Uwe Kleine-König (The Capable Hub)
2026-04-19  6:42 ` [PATCH v1 2/2] ALSA: firewire: Make use of ieee1394's .driver_data_ptr Uwe Kleine-König (The Capable Hub)
2026-04-20  8:48   ` Andy Shevchenko
2026-04-20  9:08 ` [PATCH v1 0/2] firewire: Simplify storing pointers in device id struct Takashi Sakamoto
2026-04-20 17:39   ` Christian A. Ehrhardt
2026-04-21 12:53     ` Takashi Sakamoto
2026-04-21 14:07       ` Uwe Kleine-König (The Capable Hub)
2026-04-22  7:19         ` Andy Shevchenko
2026-04-22  8:30           ` Uwe Kleine-König (The Capable Hub)
2026-04-22  8:40             ` Uwe Kleine-König (The Capable Hub)
2026-04-22  9:40               ` Andy Shevchenko
2026-04-22 10:10                 ` Uwe Kleine-König (The Capable Hub)
2026-04-21 16:20       ` Christian A. Ehrhardt
2026-04-23 14:19 ` Takashi Sakamoto
2026-04-23 16:53   ` Uwe Kleine-König (The Capable Hub)
2026-04-27  6:37     ` Takashi Sakamoto
2026-04-27  8:07       ` Uwe Kleine-König (The Capable Hub)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox