ALSA: core: add support for compressed devices
Omair Mohammed Abdullah [Fri, 23 Dec 2011 05:06:36 +0000 (10:06 +0530)]
Use the minor numbers 2 and 3 for audio compressed offload devices.
Also add support for these devices in core

Signed-off-by: Omair Mohammed Abdullah <omair.m.abdullah@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

include/sound/core.h
include/sound/minors.h
sound/core/sound.c

index 3be5ab7..5ab255f 100644 (file)
@@ -62,6 +62,7 @@ typedef int __bitwise snd_device_type_t;
 #define        SNDRV_DEV_BUS           ((__force snd_device_type_t) 0x1007)
 #define        SNDRV_DEV_CODEC         ((__force snd_device_type_t) 0x1008)
 #define        SNDRV_DEV_JACK          ((__force snd_device_type_t) 0x1009)
+#define        SNDRV_DEV_COMPRESS      ((__force snd_device_type_t) 0x100A)
 #define        SNDRV_DEV_LOWLEVEL      ((__force snd_device_type_t) 0x2000)
 
 typedef int __bitwise snd_device_state_t;
index 8f76420..5978f9a 100644 (file)
@@ -35,7 +35,7 @@
 #define SNDRV_MINOR_TIMER              33      /* SNDRV_MINOR_GLOBAL + 1 * 32 */
 
 #ifndef CONFIG_SND_DYNAMIC_MINORS
-                                               /* 2 - 3 (reserved) */
+#define SNDRV_MINOR_COMPRESS           2       /* 2 - 3 */
 #define SNDRV_MINOR_HWDEP              4       /* 4 - 7 */
 #define SNDRV_MINOR_RAWMIDI            8       /* 8 - 15 */
 #define SNDRV_MINOR_PCM_PLAYBACK       16      /* 16 - 23 */
@@ -49,6 +49,7 @@
 #define SNDRV_DEVICE_TYPE_PCM_CAPTURE  SNDRV_MINOR_PCM_CAPTURE
 #define SNDRV_DEVICE_TYPE_SEQUENCER    SNDRV_MINOR_SEQUENCER
 #define SNDRV_DEVICE_TYPE_TIMER                SNDRV_MINOR_TIMER
+#define SNDRV_DEVICE_TYPE_COMPRESS     SNDRV_MINOR_COMPRESS
 
 #else /* CONFIG_SND_DYNAMIC_MINORS */
 
@@ -60,6 +61,7 @@ enum {
        SNDRV_DEVICE_TYPE_RAWMIDI,
        SNDRV_DEVICE_TYPE_PCM_PLAYBACK,
        SNDRV_DEVICE_TYPE_PCM_CAPTURE,
+       SNDRV_DEVICE_TYPE_COMPRESS,
 };
 
 #endif /* CONFIG_SND_DYNAMIC_MINORS */
index 828af35..28f3559 100644 (file)
@@ -229,6 +229,7 @@ static int snd_kernel_minor(int type, struct snd_card *card, int dev)
        case SNDRV_DEVICE_TYPE_RAWMIDI:
        case SNDRV_DEVICE_TYPE_PCM_PLAYBACK:
        case SNDRV_DEVICE_TYPE_PCM_CAPTURE:
+       case SNDRV_DEVICE_TYPE_COMPRESS:
                if (snd_BUG_ON(!card))
                        return -EINVAL;
                minor = SNDRV_MINOR(card->number, type + dev);