[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240213101327.460191-1-arnd@kernel.org>
Date: Tue, 13 Feb 2024 11:13:19 +0100
From: Arnd Bergmann <arnd@...nel.org>
To: Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>
Cc: Arnd Bergmann <arnd@...db.de>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>,
Cedric Bregardis <cedric.bregardis@...e.fr>,
Jean-Christian Hassler <jhassler@...e.fr>,
linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev
Subject: [PATCH] ALSA: aw2: avoid casting function pointers
From: Arnd Bergmann <arnd@...db.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@...db.de>
---
sound/pci/aw2/aw2-saa7146.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
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 */
--
2.39.2
Powered by blists - more mailing lists