ALSA: hdsp: Make uapi/hdsp.h compilable again
authorTakashi Iwai <tiwai@suse.de>
Fri, 20 Dec 2019 15:34:12 +0000 (16:34 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 20 Dec 2019 15:45:10 +0000 (16:45 +0100)
Recently alsa-lib updated its content of sound/hdsp.h just by copying
the latest Linus kernel uapi/*.h, and this broke the build of
alsa-tools programs.  We used to modify the headers so that they can
be built without asoundlib.h and linux kernel headers, and the
verbatim copy doesn't work as is.

This patch removes again the linux/types.h inclusion and drop __user
prefix that broke the build and adjusts the corresponding code.

Link: https://lore.kernel.org/r/20191220153415.2740-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/uapi/sound/hdsp.h
sound/pci/rme9652/hdsp.c

index 5dc0c3d..88c92a3 100644 (file)
@@ -20,8 +20,6 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <linux/types.h>
-
 #define HDSP_MATRIX_MIXER_SIZE 2048
 
 enum HDSP_IO_Type {
@@ -74,7 +72,7 @@ struct hdsp_config_info {
 #define SNDRV_HDSP_IOCTL_GET_CONFIG_INFO _IOR('H', 0x41, struct hdsp_config_info)
 
 struct hdsp_firmware {
-       void __user *firmware_data;     /* 24413 x 4 bytes */
+       void *firmware_data;    /* 24413 x 4 bytes */
 };
 
 #define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE _IOW('H', 0x42, struct hdsp_firmware)
index 87e60dd..b4c42c4 100644 (file)
@@ -4817,7 +4817,7 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne
                         "initializing firmware upload\n");
                firmware = (struct hdsp_firmware __user *)argp;
 
-               if (get_user(firmware_data, &firmware->firmware_data))
+               if (get_user(firmware_data, (__force void __user **)&firmware->firmware_data))
                        return -EFAULT;
 
                if (hdsp_check_for_iobox (hdsp))