]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: firewire: Make use of ieee1394's .driver_data_ptr
authorUwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Mon, 11 May 2026 10:45:03 +0000 (12:45 +0200)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 11 May 2026 10:45:03 +0000 (12:45 +0200)
Recently struct ieee1394_device_id gained a new member to store a pointer
to driver data. Make use of that to get rid of a bunch of casts.

Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/6b7b7b3b8b54465ad5e7463412a202350fccbb62.1778494204.git.u.kleine-koenig@baylibre.com
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
sound/firewire/dice/dice.c
sound/firewire/fireface/ff.c
sound/firewire/motu/motu.c
sound/firewire/oxfw/oxfw.c

index f7a50bae4b559dd0a4cd9ec3c7d7501a1722396f..58f14aadc73deeaf658d0dc49100d0eecad6ac4c 100644 (file)
@@ -148,7 +148,7 @@ static int dice_probe(struct fw_unit *unit, const struct ieee1394_device_id *ent
        snd_dice_detect_formats_t detect_formats;
        int err;
 
-       if (!entry->driver_data && entry->vendor_id != OUI_SSL) {
+       if (!entry->driver_data_ptr && entry->vendor_id != OUI_SSL) {
                err = check_dice_category(unit);
                if (err < 0)
                        return -ENODEV;
@@ -164,10 +164,10 @@ static int dice_probe(struct fw_unit *unit, const struct ieee1394_device_id *ent
        dev_set_drvdata(&unit->device, dice);
        dice->card = card;
 
-       if (!entry->driver_data)
+       if (!entry->driver_data_ptr)
                detect_formats = snd_dice_stream_detect_current_formats;
        else
-               detect_formats = (snd_dice_detect_formats_t)entry->driver_data;
+               detect_formats = entry->driver_data_ptr;
 
        // Below models are compliant to IEC 61883-1/6 and have no quirk at high sampling transfer
        // frequency.
@@ -255,7 +255,7 @@ static void dice_bus_reset(struct fw_unit *unit)
                .model_id       = (model), \
                .specifier_id   = (vendor), \
                .version        = DICE_INTERFACE, \
-               .driver_data = (kernel_ulong_t)(data), \
+               .driver_data_ptr = (data), \
        }
 
 static const struct ieee1394_device_id dice_id_table[] = {
@@ -267,7 +267,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_MAUDIO,
                .model_id       = 0x000010,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_extension_formats,
+               .driver_data_ptr = snd_dice_detect_extension_formats,
        },
        /* M-Audio Profire 610 has a different value in version field. */
        {
@@ -275,7 +275,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_MAUDIO,
                .model_id       = 0x000011,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_extension_formats,
+               .driver_data_ptr = snd_dice_detect_extension_formats,
        },
        /* TC Electronic Konnekt 24D. */
        {
@@ -283,7 +283,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000020,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* TC Electronic Konnekt 8. */
        {
@@ -291,7 +291,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000021,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* TC Electronic Studio Konnekt 48. */
        {
@@ -299,7 +299,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000022,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* TC Electronic Konnekt Live. */
        {
@@ -307,7 +307,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000023,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* TC Electronic Desktop Konnekt 6. */
        {
@@ -315,7 +315,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000024,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* TC Electronic Impact Twin. */
        {
@@ -323,7 +323,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000027,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* TC Electronic Digital Konnekt x32. */
        {
@@ -331,7 +331,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_TCELECTRONIC,
                .model_id       = 0x000030,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats,
+               .driver_data_ptr = snd_dice_detect_tcelectronic_formats,
        },
        /* Alesis iO14/iO26. */
        {
@@ -339,7 +339,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_ALESIS,
                .model_id       = MODEL_ALESIS_IO_BOTH,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_alesis_formats,
+               .driver_data_ptr = snd_dice_detect_alesis_formats,
        },
        // Alesis MasterControl.
        {
@@ -347,7 +347,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_ALESIS,
                .model_id       = 0x000002,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_alesis_mastercontrol_formats,
+               .driver_data_ptr = snd_dice_detect_alesis_mastercontrol_formats,
        },
        /* Mytek Stereo 192 DSD-DAC. */
        {
@@ -355,7 +355,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                                  IEEE1394_MATCH_MODEL_ID,
                .vendor_id      = OUI_MYTEK,
                .model_id       = 0x000002,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_mytek_formats,
+               .driver_data_ptr = snd_dice_detect_mytek_formats,
        },
        // Solid State Logic, Duende Classic and Mini.
        // NOTE: each field of GUID in config ROM is not compliant to standard
@@ -469,7 +469,7 @@ static const struct ieee1394_device_id dice_id_table[] = {
                .model_id       = OUI_TEAC,
                .specifier_id   = OUI_TEAC,
                .version        = 0x800006,
-               .driver_data = (kernel_ulong_t)snd_dice_detect_teac_formats,
+               .driver_data_ptr = snd_dice_detect_teac_formats,
        },
        { }
 };
index 5d2c4fbf44341a16bb8ea0d3638a3f7586af8780..13472822d2becfd04dd44931dffb8c69b3f89a9a 100644 (file)
@@ -70,7 +70,7 @@ static int snd_ff_probe(struct fw_unit *unit, const struct ieee1394_device_id *e
        init_waitqueue_head(&ff->hwdep_wait);
 
        ff->unit_version = entry->version;
-       ff->spec = (const struct snd_ff_spec *)entry->driver_data;
+       ff->spec = entry->driver_data_ptr;
 
        err = snd_ff_transaction_register(ff);
        if (err < 0)
@@ -186,7 +186,7 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {
                .specifier_id   = OUI_RME,
                .version        = SND_FF_UNIT_VERSION_FF800,
                .model_id       = 0x101800,
-               .driver_data    = (kernel_ulong_t)&spec_ff800,
+               .driver_data_ptr = &spec_ff800,
        },
        /* Fireface 400 */
        {
@@ -198,7 +198,7 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {
                .specifier_id   = OUI_RME,
                .version        = SND_FF_UNIT_VERSION_FF400,
                .model_id       = 0x101800,
-               .driver_data    = (kernel_ulong_t)&spec_ff400,
+               .driver_data_ptr = &spec_ff400,
        },
        // Fireface UFX.
        {
@@ -210,7 +210,7 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {
                .specifier_id   = OUI_RME,
                .version        = SND_FF_UNIT_VERSION_UFX,
                .model_id       = 0x101800,
-               .driver_data    = (kernel_ulong_t)&spec_ufx_802,
+               .driver_data_ptr = &spec_ufx_802,
        },
        // Fireface UCX.
        {
@@ -222,7 +222,7 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {
                .specifier_id   = OUI_RME,
                .version        = SND_FF_UNIT_VERSION_UCX,
                .model_id       = 0x101800,
-               .driver_data    = (kernel_ulong_t)&spec_ucx,
+               .driver_data_ptr = &spec_ucx,
        },
        // Fireface 802.
        {
@@ -234,7 +234,7 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {
                .specifier_id   = OUI_RME,
                .version        = SND_FF_UNIT_VERSION_802,
                .model_id       = 0x101800,
-               .driver_data    = (kernel_ulong_t)&spec_ufx_802,
+               .driver_data_ptr = &spec_ufx_802,
        },
        {}
 };
index fd2a9dddbfa6f3609de248122e1e656eb3619c63..1fec6c8cdf6c43727509418d18b38493d5c13e27 100644 (file)
@@ -78,7 +78,7 @@ static int motu_probe(struct fw_unit *unit, const struct ieee1394_device_id *ent
        dev_set_drvdata(&unit->device, motu);
        motu->card = card;
 
-       motu->spec = (const struct snd_motu_spec *)entry->driver_data;
+       motu->spec = entry->driver_data_ptr;
        mutex_init(&motu->mutex);
        spin_lock_init(&motu->lock);
        init_waitqueue_head(&motu->hwdep_wait);
@@ -148,7 +148,7 @@ static void motu_bus_update(struct fw_unit *unit)
        snd_motu_transaction_reregister(motu);
 }
 
-#define SND_MOTU_DEV_ENTRY(model, data)                        \
+#define SND_MOTU_DEV_ENTRY(model, data_ptr)            \
 {                                                      \
        .match_flags    = IEEE1394_MATCH_VENDOR_ID |    \
                          IEEE1394_MATCH_SPECIFIER_ID | \
@@ -156,7 +156,7 @@ static void motu_bus_update(struct fw_unit *unit)
        .vendor_id      = OUI_MOTU,                     \
        .specifier_id   = OUI_MOTU,                     \
        .version        = model,                        \
-       .driver_data    = (kernel_ulong_t)data,         \
+       .driver_data_ptr = data_ptr,                    \
 }
 
 static const struct ieee1394_device_id motu_id_table[] = {
index 5039bd79b18ed39c3193a4c85fd3446d78cd9146..38a3c3b150dfbfc06851028dc98ab1171bb12802 100644 (file)
@@ -95,7 +95,7 @@ static int name_card(struct snd_oxfw *oxfw, const struct ieee1394_device_id *ent
 
        /* to apply card definitions */
        if (entry->vendor_id == VENDOR_GRIFFIN || entry->vendor_id == VENDOR_LACIE) {
-               info = (const struct compat_info *)entry->driver_data;
+               info = entry->driver_data_ptr;
                d = info->driver_name;
                v = info->vendor_name;
                m = info->model_name;
@@ -321,7 +321,7 @@ static const struct compat_info lacie_speakers = {
        .model_id     = model, \
        .specifier_id = SPECIFIER_1394TA, \
        .version      = VERSION_AVC, \
-       .driver_data  = (kernel_ulong_t)data, \
+       .driver_data_ptr = data, \
 }
 
 static const struct ieee1394_device_id oxfw_id_table[] = {