On Tue, Apr 05, 2022 at 04:41:18PM -0700, Randy Dunlap wrote:
When CONFIG_DMASOUND_ATARI=m and CONFIG_DMASOUND_Q40=y (or vice versa), dmasound_core.o can be built without dmasound_deinit() being defined, causing a build error:
ERROR: modpost: "dmasound_deinit" [sound/oss/dmasound/dmasound_atari.ko] undefined!
Modify dmasound_core.c and dmasound.h so that dmasound_deinit() is always available.
The mixed modes (=y/=m) also mean that several variables and structs have to be declared in all cases.
Suggested-by: Arnd Bergmann arnd@arndb.de Suggested-by: Geert Uytterhoeven geert@linux-m68k.org Signed-off-by: Randy Dunlap rdunlap@infradead.org Reported-by: kernel test robot lkp@intel.com Link: lore.kernel.org/r/202204032138.EFT9qGEd-lkp@intel.com Cc: Geert Uytterhoeven geert@linux-m68k.org Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: alsa-devel@alsa-project.org
m68k:allmodconfig fails to build with this patch in the tree.
Error log: sound/oss/dmasound/dmasound_core.c:1431:12: error: 'dmasound_setup' defined but not used
... because __setup() is empty if MODULE is defined.
Guenter