26 Aug, 2011

1 commit


25 Aug, 2011

2 commits


24 Aug, 2011

3 commits

  • Board file support for Ventana is not yet mainlined, and probably won't
    ever be given the move to Device-Tree. Consequently, the Ventana entry
    is being removed from arch/arm/tools/mach-types in the next merge window,
    since it was registered over a year ago.

    This will also remove function machine_is_ventana(), which is used by
    the ASoC Tegra WM8903 machine driver. This will cause compilation
    failures. Drop Ventana support to resolve this.

    Hopefully, in the not-too-distant future, tegra_wm8903.c will be able to
    configure itself from Device-Tree, and hence we'll be able to re-instate
    Ventana support just by creating a .dts file for the board.

    Also note that Aebl support is in a similar boat. However, that board
    isn't scheduled for deprecation for at least another 5 months, and
    perhaps we will have completely removed non-Device-Tree support from
    tegra_wm8903.c by then and/or adjusted mach-types policy.

    Signed-off-by: Stephen Warren
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Stephen Warren
     
  • Signed-off-by: Joseph Pentland
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Joseph Pentland
     
  • The ADC-switching can work also in the auto-mic mode, too.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

23 Aug, 2011

9 commits

  • When multiple headphones or speakers are assigned but no individual
    DACs are available, the driver should take the first HP/SPK DAC instead
    of another primary output. The patch adds a bit-flag to dac field of
    struct pin_dac_pair indicating that it's a slave DAC.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The internal states, jack_present and line_jack_present should be
    updated upon unsolicited events even if no automute is set.
    Otherwise the wrong state is referred when the automute behavior is
    changed by the mixer control.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When the headphone or speaker output has no own DAC, initialize the path
    using the primary DAC. Otherwise the path won't be set properly and
    can result in the silence.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The first change is to add an of_node_put, since codec_np has previously
    been allocated. The rest of the patch reorganizes the error handling code
    so the only code executed is that which is needed.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != of_node_put(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    of_node_put(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Timur Tabi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • dma_channel_np has been accessed at this point, so decrease its reference
    count before leaving the function.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != of_node_put(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    of_node_put(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • Introduce a new label that includes kfree and jump to that one.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != kfree(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    kfree(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Alexander Sverdlin
    Reviewed-by: H Hartley Sweeten
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • Adjust the goto to jump to the error handling code that includes kfree.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != kfree(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    kfree(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • GFP_ATOMIC is not needed here, use GFP_KERNEL instead.

    Signed-off-by: Axel Lin
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Axel Lin
     
  • of_parse_phandle increments the reference count of np, so this should be
    decremented before trying the next possibility.

    Since we don't actually use np, we can decrement the reference count
    immediately.

    Reported-by: Julia Lawall
    Signed-off-by: Timur Tabi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Timur Tabi
     

22 Aug, 2011

5 commits


20 Aug, 2011

3 commits

  • The label outnodev is only used when kzalloc has not yet taken place or has
    failed, so there is no need for the call for kfree under this label.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    identifier x;
    expression E1!=0,E2,E3,E4;
    statement S;
    iterator I;
    @@

    (
    if (...) { ... when != kfree(x)
    when != x = E3
    when != E3 = x
    * return ...;
    }
    ... when != x = E2
    when != I(...,x,...) S
    if (...) { ... when != x = E4
    kfree(x); ... return ...; }
    )
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • snd_hda_get_conn_index() returns a negative value while the current code
    stores it in an unsigned int. It must be stored in a signed integer.

    Reported-by: Jesper Juhl
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Currently HD-audio driver shows the all error ELD byte as an error
    in the kernel message. This is annoying when the video driver doesn't
    set the correct ELD from the beginning. e.g. radeon sends a zero-byte
    data, but we still check ELD with the fixed 128 byte as a workaround
    for some broken devices, it spews 128-times errors.

    For avoiding this, the driver aborts reading when the first byte is
    invalid. In such a case, the whole data is certainly invalid.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

19 Aug, 2011

2 commits

  • The recent fix for testing dB range at the mixer creation time seems
    to cause regressions in some devices. In such devices, reading the dB
    info at probing time gives an error, thus both dBmin and dBmax are still
    zero, and TLV flag isn't set although the later read of dB info succeeds.

    This patch adds a workaround for such a case by assuming that the later
    read will succeed. In future, a similar test should be performed in a
    case where a wrong dB range is seen even in the later read.

    Signed-off-by: Takashi Iwai
    Cc:

    Takashi Iwai
     
  • Fix "error: too few arguments to function 'ams_delta_set_bias_level'"
    build errors in ams-delta.c that were introduced after commit d4c6005 ("ASoC:
    Add context parameter to card DAPM callbacks") by adding dapm context
    to ams_delta_set_bias_level calls.

    Signed-off-by: Jarkko Nikula
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Jarkko Nikula
     

18 Aug, 2011

1 commit


17 Aug, 2011

1 commit

  • The ASoC core tries to not enforce symmetric rates when
    two streams open simultaneously. It does so by checking
    rtd->rate being zero. This works exactly once after booting
    because it is not set to zero again when the streams close.
    Fix this by setting rtd->rate when no active stream is left.

    [This leads to lots of warnings about not enforcing the symmetry in some
    situations as there's a race in the userspace API where we know we've
    got two applications but don't know what rates they want to set.
    -- broonie ]

    Signed-off-by: Sascha Hauer
    Signed-off-by: Mark Brown

    Sascha Hauer
     

16 Aug, 2011

1 commit


15 Aug, 2011

9 commits


14 Aug, 2011

3 commits

  • Add linux/types.h to fix this compilation error:

    In file included from arch/arm/mach-s3c2410/include/mach/gpio-fns.h:27:0,
    from arch/arm/mach-s3c2410/include/mach/gpio.h:27,
    from /home/anarsoul/work/pda-linux/linux-next/arch/arm/include/asm/gpio.h:5,
    from include/linux/gpio.h:18,
    from sound/soc/samsung/rx1950_uda1380.c:20:
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:29:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:30:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s5p_gpio_drvstr_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:57:2: error: expected specifier-qualifier-list before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:148:47: error: expected declaration specifiers or ‘...’ before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:156:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s3c_gpio_getpull’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:175:24: error: expected declaration specifiers or ‘...’ before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h: In function ‘s3c_gpio_cfgrange_nopull’:
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: error: ‘s3c_gpio_pull_t’ undeclared (first use in this function)
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: note: each undeclared identifier is reported only once for each function it appears in
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: error: expected ‘)’ before numeric constant
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: error: too many arguments to function ‘s3c_gpio_cfgall_range’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:174:12: note: declared here
    arch/arm/plat-samsung/include/plat/gpio-cfg.h: At top level:
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:199:26: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s5p_gpio_get_drvstr’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:210:50: error: expected declaration specifiers or ‘...’ before ‘s5p_gpio_drvstr_t’

    Signed-off-by: Vasily Khoruzhick
    Acked-by: Jassi Brar
    Signed-off-by: Mark Brown

    Vasily Khoruzhick
     
  • Add linux/types.h to fix this compilation error:

    In file included from arch/arm/mach-s3c2410/include/mach/gpio-fns.h:27:0,
    from arch/arm/mach-s3c2410/include/mach/gpio.h:27,
    from /home/anarsoul/work/pda-linux/linux-next/arch/arm/include/asm/gpio.h:5,
    from include/linux/gpio.h:18,
    from sound/soc/samsung/rx1950_uda1380.c:20:
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:29:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:30:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s5p_gpio_drvstr_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:57:2: error: expected specifier-qualifier-list before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:148:47: error: expected declaration specifiers or ‘...’ before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:156:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s3c_gpio_getpull’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:175:24: error: expected declaration specifiers or ‘...’ before ‘s3c_gpio_pull_t’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h: In function ‘s3c_gpio_cfgrange_nopull’:
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: error: ‘s3c_gpio_pull_t’ undeclared (first use in this function)
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: note: each undeclared identifier is reported only once for each function it appears in
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: error: expected ‘)’ before numeric constant
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:180:47: error: too many arguments to function ‘s3c_gpio_cfgall_range’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:174:12: note: declared here
    arch/arm/plat-samsung/include/plat/gpio-cfg.h: At top level:
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:199:26: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘s5p_gpio_get_drvstr’
    arch/arm/plat-samsung/include/plat/gpio-cfg.h:210:50: error: expected declaration specifiers or ‘...’ before ‘s5p_gpio_drvstr_t’

    Signed-off-by: Vasily Khoruzhick
    Acked-by: Jassi Brar
    Signed-off-by: Mark Brown

    Vasily Khoruzhick
     
  • When the clocking registers are not overriden some of the registers are
    not writable.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Cc: stable@kernel.org

    Mark Brown