[alsa-devel] [PATCH v4 2/6] core: add support for compressed devices
Vinod Koul
vinod.koul at linux.intel.com
Thu Dec 22 09:15:45 CET 2011
On Thu, 2011-12-22 at 08:34 +0100, Takashi Iwai wrote:
> At Tue, 13 Dec 2011 14:32:56 +0530,
> Vinod Koul wrote:
> >
> > From: Omair Mohammed Abdullah <omair.m.abdullah at intel.com>
> >
> > Use the two 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 at intel.com>
> > Signed-off-by: Vinod Koul <vinod.koul at linux.intel.com>
> > Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> > Reviewed-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
> > Signed-off-by: Vinod Koul <vinod.koul at linux.intel.com>
> > ---
> > include/sound/core.h | 1 +
> > include/sound/minors.h | 7 ++++++-
> > sound/core/sound.c | 6 ++++++
> > 3 files changed, 13 insertions(+), 1 deletions(-)
> >
> > diff --git a/include/sound/core.h b/include/sound/core.h
> > index 3be5ab7..5ab255f 100644
> > --- a/include/sound/core.h
> > +++ b/include/sound/core.h
> > @@ -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;
> > diff --git a/include/sound/minors.h b/include/sound/minors.h
> > index 8f76420..faaeb64 100644
> > --- a/include/sound/minors.h
> > +++ b/include/sound/minors.h
> > @@ -35,7 +35,8 @@
> > #define SNDRV_MINOR_TIMER 33 /* SNDRV_MINOR_GLOBAL + 1 * 32 */
> >
> > #ifndef CONFIG_SND_DYNAMIC_MINORS
> > - /* 2 - 3 (reserved) */
> > +#define SNDRV_MINOR_COMPR_PLAYBACK 2
> > +#define SNDRV_MINOR_COMPR_CAPTURE 3
>
> If you'd share both playback and capture to a single device (as you
> already did in patch 5/6), no need to provide distinct numbers here.
> This would be simply
>
> #define SNDRV_MINOR_COMPR 2
>
> and define the single SNDRV_DEVICE_TYPE_COMPR.
> Then you'll have to up to two devices for the static minors and more
> for dynamic minors. So, the below would be:
Oops, I thought i had fixed it up as well, thanks below is right :)
>
> > diff --git a/sound/core/sound.c b/sound/core/sound.c
> > index 828af35..2b680dd 100644
> > --- a/sound/core/sound.c
> > +++ b/sound/core/sound.c
> > @@ -233,6 +233,12 @@ static int snd_kernel_minor(int type, struct snd_card *card, int dev)
> > return -EINVAL;
> > minor = SNDRV_MINOR(card->number, type + dev);
> > break;
> > + case SNDRV_DEVICE_TYPE_COMPR_PLAYBACK:
> > + case SNDRV_DEVICE_TYPE_COMPR_CAPTURE:
> > + if (snd_BUG_ON(!card))
> > + return -EINVAL;
> > + minor = SNDRV_MINOR(card->number, type);
> > + break;
>
> Instead of this, just add case SNDRV_DEVICE_TYPE_COMPR in the cases of
> other types like PCM and RAWMIDI, i.e.
right
>
> > + minor = SNDRV_MINOR(card->number, type + dev);
>
>
> Takashi
--
~Vinod
More information about the Alsa-devel
mailing list