Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: emu10k1: added EMU10K1 version of DECLARE_BITMAP macro for UAPI

Fixes userspace compilation error:

error: expected specifier-qualifier-list before ‘DECLARE_BITMAP’
DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */

DECLARE_BITMAP macro is not meant for userspace headers and thus
added here as private copy for emu10k.h.

Fix was suggested by Arnd Bergmann <arnd@arndb.de> in message
<2168807.4Yxh5gl11Q@wuerfel> and Takashi Iwai <tiwai@suse.de>
in message <s5h1thx88tk.wl-tiwai@suse.de> on lkml.

Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by

Mikko Rapeli and committed by
Takashi Iwai
a82d24f8 5a1f8c42

+11 -3
+11 -3
include/uapi/sound/emu10k1.h
··· 34 34 35 35 #define EMU10K1_FX8010_PCM_COUNT 8 36 36 37 + /* 38 + * Following definition is copied from linux/types.h to support compiling 39 + * this header file in userspace since they are not generally available for 40 + * uapi headers. 41 + */ 42 + #define __EMU10K1_DECLARE_BITMAP(name,bits) \ 43 + unsigned long name[(bits) / (sizeof(unsigned long) * 8)] 44 + 37 45 /* instruction set */ 38 46 #define iMAC0 0x00 /* R = A + (X * Y >> 31) ; saturation */ 39 47 #define iMAC1 0x01 /* R = A + (-X * Y >> 31) ; saturation */ ··· 308 300 struct snd_emu10k1_fx8010_code { 309 301 char name[128]; 310 302 311 - DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */ 303 + __EMU10K1_DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */ 312 304 __u32 __user *gpr_map; /* initializers */ 313 305 314 306 unsigned int gpr_add_control_count; /* count of GPR controls to add/replace */ ··· 321 313 unsigned int gpr_list_control_total; /* total count of GPR controls */ 322 314 struct snd_emu10k1_fx8010_control_gpr __user *gpr_list_controls; /* listed GPR controls */ 323 315 324 - DECLARE_BITMAP(tram_valid, 0x100); /* bitmask of valid initializers */ 316 + __EMU10K1_DECLARE_BITMAP(tram_valid, 0x100); /* bitmask of valid initializers */ 325 317 __u32 __user *tram_data_map; /* data initializers */ 326 318 __u32 __user *tram_addr_map; /* map initializers */ 327 319 328 - DECLARE_BITMAP(code_valid, 1024); /* bitmask of valid instructions */ 320 + __EMU10K1_DECLARE_BITMAP(code_valid, 1024); /* bitmask of valid instructions */ 329 321 __u32 __user *code; /* one instruction - 64 bits */ 330 322 }; 331 323