Message ID | 20240213101327.460191-1-arnd@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ALSA: aw2: avoid casting function pointers | expand |
On Tue, 13 Feb 2024 11:13:19 +0100, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > clang-16 started warning about incompatible function pointers here: > > sound/pci/aw2/aw2-alsa.c:363:11: error: cast from 'void (*)(struct snd_pcm_substream *)' to 'snd_aw2_saa7146_it_cb' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict] > 363 | (snd_aw2_saa7146_it_cb) > | ^~~~~~~~~~~~~~~~~~~~~~~ > 364 | snd_pcm_period_elapsed, > | ~~~~~~~~~~~~~~~~~~~~~~ > sound/pci/aw2/aw2-alsa.c:392:10: error: cast from 'void (*)(struct snd_pcm_substream *)' to 'snd_aw2_saa7146_it_cb' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict] > 392 | (snd_aw2_saa7146_it_cb) > | ^~~~~~~~~~~~~~~~~~~~~~~ > 393 | snd_pcm_period_elapsed, > | ~~~~~~~~~~~~~~~~~~~~~~ > > Add a forward declaration for struct snd_pcm_substrea to allow it to just > use the correct prototype. > > Fixes: 98f2a97f207a ("[ALSA] Emagic Audiowerk 2 ALSA driver.") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Thanks, applied. Takashi
diff --git a/sound/pci/aw2/aw2-saa7146.h b/sound/pci/aw2/aw2-saa7146.h index b5c5a71c0ac3..3a3de56b9b07 100644 --- a/sound/pci/aw2/aw2-saa7146.h +++ b/sound/pci/aw2/aw2-saa7146.h @@ -19,11 +19,12 @@ #define NUM_STREAM_CAPTURE_ANA 0 -typedef void (*snd_aw2_saa7146_it_cb) (void *); +struct snd_pcm_substream; +typedef void (*snd_aw2_saa7146_it_cb) (struct snd_pcm_substream *); struct snd_aw2_saa7146_cb_param { snd_aw2_saa7146_it_cb p_it_callback; - void *p_callback_param; + struct snd_pcm_substream *p_callback_param; }; /* definition of the chip-specific record */