diff options
author | Takashi Iwai <tiwai@suse.de> | 2005-12-01 10:51:58 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-01-03 12:30:10 +0100 |
commit | 59d48582508c6e3ed6f60bdd7d13e3e2893416b4 (patch) | |
tree | e52ecc173a4f44d1a225e6a4abc1ad842fd38deb /sound | |
parent | [ALSA] Optimize for config without PROC_FS (pci drivers) (diff) | |
download | linux-59d48582508c6e3ed6f60bdd7d13e3e2893416b4.tar.xz linux-59d48582508c6e3ed6f60bdd7d13e3e2893416b4.zip |
[ALSA] pcm - Make the support of old API selectable
Modules: ALSA Core,PCM Midlevel
Make the support of old API selectable via config option.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/Kconfig | 8 | ||||
-rw-r--r-- | sound/core/pcm_native.c | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/sound/core/Kconfig b/sound/core/Kconfig index 83cbe20c9c9e..f79755f77a81 100644 --- a/sound/core/Kconfig +++ b/sound/core/Kconfig @@ -122,6 +122,14 @@ config SND_DYNAMIC_MINORS If you are unsure about this, say N here. +config SND_SUPPORT_OLD_API + bool "Support old ALSA API" + depends on SND + default y + help + Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 + or older). + config SND_VERBOSE_PRINTK bool "Verbose printk" depends on SND diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 9010306bcead..f3d5de7b55ac 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -55,6 +55,7 @@ struct snd_pcm_hw_params_old { unsigned char reserved[64]; }; +#ifdef CONFIG_SND_SUPPORT_OLD_API #define SNDRV_PCM_IOCTL_HW_REFINE_OLD _IOWR('A', 0x10, struct snd_pcm_hw_params_old) #define SNDRV_PCM_IOCTL_HW_PARAMS_OLD _IOWR('A', 0x11, struct snd_pcm_hw_params_old) @@ -62,6 +63,7 @@ static int snd_pcm_hw_refine_old_user(struct snd_pcm_substream *substream, struct snd_pcm_hw_params_old __user * _oparams); static int snd_pcm_hw_params_old_user(struct snd_pcm_substream *substream, struct snd_pcm_hw_params_old __user * _oparams); +#endif static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream); /* @@ -2527,10 +2529,12 @@ static int snd_pcm_common_ioctl1(struct snd_pcm_substream *substream, return snd_pcm_delay(substream, arg); case SNDRV_PCM_IOCTL_SYNC_PTR: return snd_pcm_sync_ptr(substream, arg); +#ifdef CONFIG_SND_SUPPORT_OLD_API case SNDRV_PCM_IOCTL_HW_REFINE_OLD: return snd_pcm_hw_refine_old_user(substream, arg); case SNDRV_PCM_IOCTL_HW_PARAMS_OLD: return snd_pcm_hw_params_old_user(substream, arg); +#endif case SNDRV_PCM_IOCTL_DRAIN: return snd_pcm_drain(substream); case SNDRV_PCM_IOCTL_DROP: @@ -3270,6 +3274,7 @@ static int snd_pcm_fasync(int fd, struct file * file, int on) * To be removed helpers to keep binary compatibility */ +#ifdef CONFIG_SND_SUPPORT_OLD_API #define __OLD_TO_NEW_MASK(x) ((x&7)|((x&0x07fffff8)<<5)) #define __NEW_TO_OLD_MASK(x) ((x&7)|((x&0xffffff00)>>5)) @@ -3379,6 +3384,7 @@ out: kfree(oparams); return err; } +#endif /* CONFIG_SND_SUPPORT_OLD_API */ /* * Register section |