lkml.org 
[lkml]   [2008]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[GIT PULL] ALSA fixes #2
    Linus,

    please pull ALSA more updates for 2.6.28-r2 from:

    git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git for-linus

    This contains the following fixes (mostly for ASoC) in addition to the
    previous pull request.


    Thanks!

    Takashi

    ===

    Ilpo Järvinen (1):
    ALSA: sound/ice1712: indentation & braces disagree - add braces

    Jon Smirl (1):
    ALSA: ASoC: Fix some minor errors in mpc5200 psc i2s driver

    Kay Sievers (1):
    sound: struct device - replace bus_id with dev_name(), dev_set_name()

    Mark Brown (2):
    ALSA: ASoC: Fix mono controls after conversion to support full int masks
    ALSA: ASoC: Fix WM9713 ALC Decay Time name

    Takashi Iwai (1):
    ALSA: usb - Add quirk for Edirol UA-25EX advanced modes

    ---
    include/sound/soc.h | 3 ++-
    sound/pci/ac97/ac97_codec.c | 6 +++---
    sound/pci/ice1712/ice1712.c | 6 ++++--
    sound/soc/codecs/wm9713.c | 2 +-
    sound/soc/fsl/mpc5200_psc_i2s.c | 14 ++++++++------
    sound/soc/soc-core.c | 2 +-
    sound/usb/usbquirks.h | 30 ++++++++++++++++++++++++++++++
    7 files changed, 49 insertions(+), 14 deletions(-)

    diff --git a/include/sound/soc.h b/include/sound/soc.h
    index a1e0357..5e01898 100644
    --- a/include/sound/soc.h
    +++ b/include/sound/soc.h
    @@ -28,7 +28,8 @@
    */
    #define SOC_SINGLE_VALUE(xreg, xshift, xmax, xinvert) \
    ((unsigned long)&(struct soc_mixer_control) \
    - {.reg = xreg, .shift = xshift, .max = xmax, .invert = xinvert})
    + {.reg = xreg, .shift = xshift, .rshift = xshift, .max = xmax, \
    + .invert = xinvert})
    #define SOC_SINGLE_VALUE_EXT(xreg, xmax, xinvert) \
    ((unsigned long)&(struct soc_mixer_control) \
    {.reg = xreg, .max = xmax, .invert = xinvert})
    diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
    index 6704acb..bd510ec 100644
    --- a/sound/pci/ac97/ac97_codec.c
    +++ b/sound/pci/ac97/ac97_codec.c
    @@ -1927,9 +1927,9 @@ static int snd_ac97_dev_register(struct snd_device *device)
    ac97->dev.bus = &ac97_bus_type;
    ac97->dev.parent = ac97->bus->card->dev;
    ac97->dev.release = ac97_device_release;
    - snprintf(ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s",
    - ac97->bus->card->number, ac97->num,
    - snd_ac97_get_short_name(ac97));
    + dev_set_name(&ac97->dev, "%d-%d:%s",
    + ac97->bus->card->number, ac97->num,
    + snd_ac97_get_short_name(ac97));
    if ((err = device_register(&ac97->dev)) < 0) {
    snd_printk(KERN_ERR "Can't register ac97 bus\n");
    ac97->dev.bus = NULL;
    diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
    index 5b44238..58d7cda 100644
    --- a/sound/pci/ice1712/ice1712.c
    +++ b/sound/pci/ice1712/ice1712.c
    @@ -2688,12 +2688,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
    return err;
    }

    - if (ice_has_con_ac97(ice))
    + if (ice_has_con_ac97(ice)) {
    err = snd_ice1712_pcm(ice, pcm_dev++, NULL);
    if (err < 0) {
    snd_card_free(card);
    return err;
    }
    + }

    err = snd_ice1712_ac97_mixer(ice);
    if (err < 0) {
    @@ -2715,12 +2716,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
    }
    }

    - if (ice_has_con_ac97(ice))
    + if (ice_has_con_ac97(ice)) {
    err = snd_ice1712_pcm_ds(ice, pcm_dev++, NULL);
    if (err < 0) {
    snd_card_free(card);
    return err;
    }
    + }

    if (!c->no_mpu401) {
    err = snd_mpu401_uart_new(card, 0, MPU401_HW_ICE1712,
    diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
    index aba402b..945b32e 100644
    --- a/sound/soc/codecs/wm9713.c
    +++ b/sound/soc/codecs/wm9713.c
    @@ -140,7 +140,7 @@ SOC_SINGLE("Capture ADC Boost (+20dB) Switch", AC97_VIDEO, 6, 1, 0),

    SOC_SINGLE("ALC Target Volume", AC97_CODEC_CLASS_REV, 12, 15, 0),
    SOC_SINGLE("ALC Hold Time", AC97_CODEC_CLASS_REV, 8, 15, 0),
    -SOC_SINGLE("ALC Decay Time ", AC97_CODEC_CLASS_REV, 4, 15, 0),
    +SOC_SINGLE("ALC Decay Time", AC97_CODEC_CLASS_REV, 4, 15, 0),
    SOC_SINGLE("ALC Attack Time", AC97_CODEC_CLASS_REV, 0, 15, 0),
    SOC_ENUM("ALC Function", wm9713_enum[6]),
    SOC_SINGLE("ALC Max Volume", AC97_PCI_SVID, 11, 7, 0),
    diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
    index 8692329..94a02ea 100644
    --- a/sound/soc/fsl/mpc5200_psc_i2s.c
    +++ b/sound/soc/fsl/mpc5200_psc_i2s.c
    @@ -277,7 +277,7 @@ static int psc_i2s_trigger(struct snd_pcm_substream *substream, int cmd)
    struct mpc52xx_psc __iomem *regs = psc_i2s->psc_regs;
    u16 imr;
    u8 psc_cmd;
    - long flags;
    + unsigned long flags;

    if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE)
    s = &psc_i2s->capture;
    @@ -699,9 +699,11 @@ static ssize_t psc_i2s_stat_store(struct device *dev,
    return count;
    }

    -DEVICE_ATTR(status, 0644, psc_i2s_status_show, NULL);
    -DEVICE_ATTR(playback_underrun, 0644, psc_i2s_stat_show, psc_i2s_stat_store);
    -DEVICE_ATTR(capture_overrun, 0644, psc_i2s_stat_show, psc_i2s_stat_store);
    +static DEVICE_ATTR(status, 0644, psc_i2s_status_show, NULL);
    +static DEVICE_ATTR(playback_underrun, 0644, psc_i2s_stat_show,
    + psc_i2s_stat_store);
    +static DEVICE_ATTR(capture_overrun, 0644, psc_i2s_stat_show,
    + psc_i2s_stat_store);

    /* ---------------------------------------------------------------------
    * OF platform bus binding code:
    @@ -819,8 +821,8 @@ static int __devinit psc_i2s_of_probe(struct of_device *op,

    /* Register the SYSFS files */
    rc = device_create_file(psc_i2s->dev, &dev_attr_status);
    - rc = device_create_file(psc_i2s->dev, &dev_attr_capture_overrun);
    - rc = device_create_file(psc_i2s->dev, &dev_attr_playback_underrun);
    + rc |= device_create_file(psc_i2s->dev, &dev_attr_capture_overrun);
    + rc |= device_create_file(psc_i2s->dev, &dev_attr_playback_underrun);
    if (rc)
    dev_info(psc_i2s->dev, "error creating sysfs files\n");

    diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
    index 462e635..a3adbf0 100644
    --- a/sound/soc/soc-core.c
    +++ b/sound/soc/soc-core.c
    @@ -1462,7 +1462,7 @@ int snd_soc_info_volsw(struct snd_kcontrol *kcontrol,
    struct soc_mixer_control *mc =
    (struct soc_mixer_control *)kcontrol->private_value;
    int max = mc->max;
    - unsigned int shift = mc->min;
    + unsigned int shift = mc->shift;
    unsigned int rshift = mc->rshift;

    if (max == 1)
    diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h
    index 69689e7..9211575 100644
    --- a/sound/usb/usbquirks.h
    +++ b/sound/usb/usbquirks.h
    @@ -1480,6 +1480,36 @@ YAMAHA_DEVICE(0x7010, "UB99"),
    }
    }
    },
    +{
    + /* Advanced modes of the Edirol UA-25EX.
    + * For the standard mode, UA-25EX has ID 0582:00e7, which
    + * offers only 16-bit PCM at 44.1 kHz and no MIDI.
    + */
    + USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e6),
    + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
    + .vendor_name = "EDIROL",
    + .product_name = "UA-25EX",
    + .ifnum = QUIRK_ANY_INTERFACE,
    + .type = QUIRK_COMPOSITE,
    + .data = (const struct snd_usb_audio_quirk[]) {
    + {
    + .ifnum = 0,
    + .type = QUIRK_AUDIO_EDIROL_UAXX
    + },
    + {
    + .ifnum = 1,
    + .type = QUIRK_AUDIO_EDIROL_UAXX
    + },
    + {
    + .ifnum = 2,
    + .type = QUIRK_AUDIO_EDIROL_UAXX
    + },
    + {
    + .ifnum = -1
    + }
    + }
    + }
    +},

    /* Guillemot devices */
    {
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2008-10-30 17:31    [W:0.031 / U:1.628 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site