At Fri, 3 Jul 2009 12:36:15 +0530, Vinod Koul wrote: > > This adds support for Moorestown ALSA Sound card driver. > This is an ALSA driver for supporting PCM playback/capture > in traditional ALSA way. Anyone who chooses not to use DSP > for decoding/encoding can use ALSA path to > play/capture (in non low power mode). > This driver registers the control interface and PCM > interface with the LPE driver which finally sends it to > the hardware. This driver allows any subsystem in OS > which wants to use the audio-subsystems to be routed > through the ALSA > > Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> > Signed-off-by: Harsha Priya <priya.harsha@xxxxxxxxx> > > new file: sound/pci/sst/intelmid.c > --- > sound/pci/sst/intelmid.c | 1761 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 1761 insertions(+), 0 deletions(-) > create mode 100644 sound/pci/sst/intelmid.c > > diff --git a/sound/pci/sst/intelmid.c b/sound/pci/sst/intelmid.c > new file mode 100644 > index 0000000..28a6dcc > --- /dev/null > +++ b/sound/pci/sst/intelmid.c > @@ -0,0 +1,1761 @@ > +#include <sound/core.h> > +#include <sound/control.h> > +#include <sound/pcm.h> > +#include <sound/pcm_params.h> > +#include <sound/info.h> > +#include <sound/initval.h> > +#include <sound/pcm-indirect.h> > +#include <sound/intel_sst.h> > +#include <sound/intel_sst_ioctl.h> Include <linux/*> (and <net/*>) before <sound/*.h> files. > +#include "intelmid_snd_control.h" > +#include "intelmid.h" > +#include "intelmid_pvt.h" > +#include <linux/spi/spi.h> > +#include <linux/io.h> > +#include <linux/delay.h> > +#include <linux/interrupt.h> > +#include <linux/init.h> > +#include <linux/slab.h> > +#include <linux/moduleparam.h> > +#include <linux/sched.h> > +#include <linux/gpe.h> > +#include <net/netlink.h> > +#include <net/genetlink.h> > + > +MODULE_AUTHOR("Harsha Priya <priya.harsha@xxxxxxxxx>"); > +MODULE_AUTHOR("Vinod Koul <vinod.koul@xxxxxxxxx>"); > +MODULE_DESCRIPTION("Intel MAD Sound card driver"); > +MODULE_LICENSE("GPL v2"); > +MODULE_SUPPORTED_DEVICE("{Intel,Intel_MAD}"); > + > +static int card_index = SNDRV_DEFAULT_IDX1;/* Index 0-MAX */ > +static char *card_id = SNDRV_DEFAULT_STR1; /* ID for this card */ These should be index and id, and declared as module parameters. Otherwise you have no way to change them. > +/*structure of all the controls of the sound card that is exposed*/ > +static struct snd_kcontrol_new snd_intelmad_controls[] __devinitdata = { > +#ifdef FULL_CTRL > +{ > + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, > + .name = "Line Volume", Usually you need to specify the direction, either "Playback" or "Capture", before "Volume" or "Switch" suffix. In this case, "Line Playback Volume" or so. > + .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, > + .info = snd_intelmad_line_volume_info, > + .get = snd_intelmad_volume_get, > + .put = snd_intelmad_volume_set, Can it have the dB information via TLV? > + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, > + .name = "DMIC Volume", Ditto. > + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, > + .name = "Master Mute Switch", No "Mute" switch please. Instead use "Master Playback Switch". (mute is a reverse direction thus confusing.) Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel