06 Dec, 2011

1 commit


05 Dec, 2011

3 commits

  • SND_SOC_MX27VIS_AIC32X4 selects SND_SOC_TLV320AIC32X4,
    but SND_SOC_TLV320AIC32X4 needs CONFIG_I2C.
    So we need to make SND_SOC_MX27VIS_AIC32X4 depend on I2C.
    otherwise I got below build error if CONFIG_I2C is not selected.

    CC sound/soc/codecs/tlv320aic32x4.o
    sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_read':
    sound/soc/codecs/tlv320aic32x4.c:323: error: implicit declaration of function 'i2c_smbus_read_byte_data'
    sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_probe':
    sound/soc/codecs/tlv320aic32x4.c:641: error: 'i2c_master_send' undeclared (first use in this function)
    sound/soc/codecs/tlv320aic32x4.c:641: error: (Each undeclared identifier is reported only once
    sound/soc/codecs/tlv320aic32x4.c:641: error: for each function it appears in.)
    sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_modinit':
    sound/soc/codecs/tlv320aic32x4.c:763: error: implicit declaration of function 'i2c_add_driver'
    sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_exit':
    sound/soc/codecs/tlv320aic32x4.c:774: error: implicit declaration of function 'i2c_del_driver'
    make[3]: *** [sound/soc/codecs/tlv320aic32x4.o] Error 1
    make[2]: *** [sound/soc/codecs] Error 2
    make[1]: *** [sound/soc] Error 2
    make: *** [sound] Error 2

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • SND_SOC_RAUMFELD selects SND_SOC_CS4270 which needs CONFIG_I2C,
    and also selects SND_SOC_AK4104 which needs SPI_MASTER.
    Thus make SND_SOC_RAUMFELD depend on I2C && SPI_MASTER.

    Add depend on SPI_MASTER to fix below build error if CONFIG_SPI_MASTER
    is not selected.

    LD .tmp_vmlinux1
    sound/built-in.o: In function `ak4104_spi_write':
    last.c:(.text+0x290cc): undefined reference to `spi_sync'
    sound/built-in.o: In function `ak4104_probe':
    last.c:(.text+0x292a0): undefined reference to `spi_write_then_read'
    sound/built-in.o: In function `ak4104_spi_probe':
    last.c:(.text+0x29398): undefined reference to `spi_setup'
    sound/built-in.o: In function `ak4104_init':
    last.c:(.init.text+0x4ec): undefined reference to `spi_register_driver'
    make: *** [.tmp_vmlinux1] Error 1

    Add depend on I2C to fix below build error if CONFIG_I2C is not selected:
    CC sound/soc/codecs/cs4270.o
    sound/soc/codecs/cs4270.c: In function 'cs4270_i2c_probe':
    sound/soc/codecs/cs4270.c:657: error: implicit declaration of function 'i2c_smbus_read_byte_data'
    sound/soc/codecs/cs4270.c: In function 'cs4270_init':
    sound/soc/codecs/cs4270.c:730: error: implicit declaration of function 'i2c_add_driver'
    sound/soc/codecs/cs4270.c: In function 'cs4270_exit':
    sound/soc/codecs/cs4270.c:736: error: implicit declaration of function 'i2c_del_driver'
    make[3]: *** [sound/soc/codecs/cs4270.o] Error 1
    make[2]: *** [sound/soc/codecs] Error 2
    make[1]: *** [sound/soc] Error 2
    make: *** [sound] Error 2

    SND_PXA2XX_SOC_HX4700 selects SND_SOC_AK4641 which needs CONFIG_I2C.
    Thus make SND_PXA2XX_SOC_HX4700 depend on I2C.

    Add depend on I2C to fix below build error if CONFIG_I2C is not selected:
    CC sound/soc/codecs/ak4641.o
    sound/soc/codecs/ak4641.c: In function 'ak4641_modinit':
    sound/soc/codecs/ak4641.c:646: error: implicit declaration of function 'i2c_add_driver'
    sound/soc/codecs/ak4641.c: In function 'ak4641_exit':
    sound/soc/codecs/ak4641.c:656: error: implicit declaration of function 'i2c_del_driver'
    make[3]: *** [sound/soc/codecs/ak4641.o] Error 1
    make[2]: *** [sound/soc/codecs] Error 2
    make[1]: *** [sound/soc] Error 2
    make: *** [sound] Error 2

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Return proper error for uda1380_modinit if i2c_add_driver() fails.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     

03 Dec, 2011

2 commits

  • SND_KIRKWOOD_SOC_T5325 selects SND_SOC_ALC5623, but SND_SOC_ALC5623 needs
    CONFIG_I2C. So we need to make SND_KIRKWOOD_SOC_T5325 depend on I2C,
    otherwise I got below build error if CONFIG_I2C is not selected.

    CC sound/soc/codecs/alc5623.o
    sound/soc/codecs/alc5623.c: In function 'alc5623_i2c_probe':
    sound/soc/codecs/alc5623.c:1002: error: implicit declaration of function 'i2c_smbus_read_word_data'
    sound/soc/codecs/alc5623.c:1009: error: implicit declaration of function 'i2c_smbus_read_byte_data'
    sound/soc/codecs/alc5623.c: In function 'alc5623_modinit':
    sound/soc/codecs/alc5623.c:1096: error: implicit declaration of function 'i2c_add_driver'
    sound/soc/codecs/alc5623.c: In function 'alc5623_modexit':
    sound/soc/codecs/alc5623.c:1108: error: implicit declaration of function 'i2c_del_driver'
    make[3]: *** [sound/soc/codecs/alc5623.o] Error 1
    make[2]: *** [sound/soc/codecs] Error 2
    make[1]: *** [sound/soc] Error 2
    make: *** [sound] Error 2

    Also fix the same issue for SND_KIRKWOOD_SOC_OPENRD.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Since they don't actually have power bits but do have events associated
    with them it's important that we bootstrap their state properly which
    making them virtual does.

    Signed-off-by: Mark Brown

    Mark Brown
     

29 Nov, 2011

5 commits


28 Nov, 2011

1 commit


23 Nov, 2011

6 commits

  • There are cases where there is no working codec on the soc-audio devices,
    and snd_soc_suspend() will skip such device when suspending. Yet its
    counterpart snd_soc_resume() does not check this, causing complaints
    about spinlock lockup:

    [ 176.726087] BUG: spinlock lockup on CPU#0, kworker/0:2/1067, d8ab82a8
    [ 176.732539] [] (unwind_backtrace+0x0/0xec) from [] (dump_stack+0x20/0x24)
    [ 176.741082] [] (dump_stack+0x20/0x24) from [] (do_raw_spin_lock+0x118/0x158)
    [ 176.749882] [] (do_raw_spin_lock+0x118/0x158) from [] (_raw_spin_lock_irqsave+0x5c/0x68)
    [ 176.759723] [] (_raw_spin_lock_irqsave+0x5c/0x68) from [] (__wake_up+0x2c/0x5c)
    [ 176.768781] [] (__wake_up+0x2c/0x5c) from [] (soc_resume_deferred+0x3c/0x2b0)
    [ 176.777666] [] (soc_resume_deferred+0x3c/0x2b0) from [] (process_one_work+0x2e8/0x50c)
    [ 176.787334] [] (process_one_work+0x2e8/0x50c) from [] (worker_thread+0x1c8/0x2e0)
    [ 176.796566] [] (worker_thread+0x1c8/0x2e0) from [] (kthread+0xa4/0xb0)
    [ 176.804843] [] (kthread+0xa4/0xb0) from [] (kernel_thread_exit+0x0/0x8)

    Signed-off-by: Eric Miao
    Signed-off-by: Mark Brown

    Eric Miao
     
  • Just checking the code in cs42l51_fill_cache():
    The cache pointer points to codec->reg_cache + 1.
    I think it is because CS42L51_FIRSTREG is 0x01,
    so codec->reg_cache[0] is not used here.

    Then we read CS42L51_NUMREGS bytes to cache.
    So we need reg_cache_size to be CS42L51_NUMREGS + 1.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • SoC Audio support for PlayPaq with WM8510 got added in commit 9aaca9683b
    ("[ALSA] Revised AT32 ASoC Patch"). That support depends on
    BOARD_PLAYPAQ. That Kconfig symbol didn't exist when that support got
    added in v2.6.27. It still doesn't. It has never been possible to even
    build this driver. Drop it.

    Signed-off-by: Paul Bolle
    Signed-off-by: Mark Brown

    Paul Bolle
     
  • Commit ac601555 ("ASoC: Return early with -EINVAL if invalid dai format is
    detected") requires the machine driver to tell the CS4270 codec driver
    whether the CS4270 should be configured for master or slave operation.

    Signed-off-by: Timur Tabi
    Signed-off-by: Mark Brown

    Timur Tabi
     
  • Replace the manual register restore mechanism in cs4270.c and call the
    generic snd_soc_cache_sync() handler instead.

    This factors code out in favour of core facilities and also fixes a
    bus confusion that is most probably caused by intermixing i2c-regmap
    functions and i2c_smbus_* accessors.

    Signed-off-by: Daniel Mack
    Reported-and-tested-by: Sven Neumann
    Acked-by: Timur Tabi
    Signed-off-by: Mark Brown

    Daniel Mack
     
  • This patch adds to fix following build errors.

    sound/soc/codecs/wm8994.c: In function 'wm8994_readable':
    sound/soc/codecs/wm8994.c:58: warning: unused variable 'wm8994'
    sound/soc/samsung/smdk_wm8994.c:176: error: expected declaration specifiers or '...' before string constant
    sound/soc/samsung/smdk_wm8994.c:176: warning: data definition has no type or storage class
    sound/soc/samsung/smdk_wm8994.c:176: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
    sound/soc/samsung/smdk_wm8994.c:176: warning: function declaration isn't a prototype
    sound/soc/samsung/smdk_wm8994.c:177: error: expected declaration specifiers or '...' before string constant

    Signed-off-by: Boojin Kim
    Signed-off-by: Mark Brown

    Boojin Kim
     

22 Nov, 2011

3 commits


21 Nov, 2011

2 commits


20 Nov, 2011

7 commits


18 Nov, 2011

1 commit

  • This patch makes it possible to set DAI mode to its currently applied
    value even if codec is active. This is necessary to allow

    aplay -t raw -r 44100 -f S16_LE -c 2 < /dev/urandom &
    alsactl store -f backup.state
    alsactl restore -f backup.state

    to work without returning errors. This patch is based on a patch sent
    by Klaus Kurzmann .

    Signed-off-by: Timo Juhani Lindfors
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Timo Juhani Lindfors
     

15 Nov, 2011

2 commits


10 Nov, 2011

1 commit


08 Nov, 2011

6 commits

  • WM9081_BIAS_ENA is the bit[1] of WM9081_BIAS_CONTROL_1 register (05h).
    Current code incorrectly write it to WM9081_VMID_CONTROL(04h) register.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • VMID Divider Enable and Select is controlled by BIT[2:1] of WM9081_VMID_CONTROL
    register (04h).
    Current code reads wrong register (WM9081_BIAS_CONTROL_1) for setting
    VMID 2*240k.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Mark Brown
     
  • .. with new name. Because nothing says "really solid kernel release"
    like naming it after an extinct animal that just happened to be in the
    news lately.

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
    ARM: OMAP: Fix export.h or module.h includes
    ARM: OMAP: omap_device: Include linux/export.h
    ARM: OMAP2: Fix H4 matrix keyboard warning
    ARM: OMAP1: Remove unused omap-alsa.h
    ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
    ARM: OMAP2+: timer: Remove omap_device_pm_latency
    ARM: OMAP2+: clock data: Remove redundant timer clkdev
    ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
    ARM: OMAP: usb: musb: OMAP: Delete unused function
    MAINTAINERS: Update linux-omap git repository
    ARM: OMAP: change get_context_loss_count ret value to int
    ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
    ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
    ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
    ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
    ARM: OMAP: dmtimer: Include linux/module.h
    ARM: OMAP2+: l3-noc: Include linux/module.h
    ARM: OMAP2+: devices: Fixes for McPDM
    ARM: OMAP: Fix errors and warnings when building for one board
    ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
    ...

    Linus Torvalds
     
  • Mountpoint crossing is similar to following procfs symlinks - we do
    not get ->d_revalidate() called for dentry we have arrived at, with
    unpleasant consequences for NFS4.

    Simple way to reproduce the problem in mainline:

    cat >/tmp/a.c <
    #include
    #include
    main()
    {
    struct flock fl = {.l_type = F_RDLCK, .l_whence = SEEK_SET, .l_len = 1};
    if (fcntl(0, F_SETLK, &fl))
    perror("setlk");
    }
    EOF
    cc /tmp/a.c -o /tmp/test

    then on nfs4:

    mount --bind file1 file2
    /tmp/test < file1 # ok
    /tmp/test < file2 # spews "setlk: No locks available"...

    What happens is the missing call of ->d_revalidate() after mountpoint
    crossing and that's where NFS4 would issue OPEN request to server.

    The fix is simple - treat mountpoint crossing the same way we deal with
    following procfs-style symlinks. I.e. set LOOKUP_JUMPED...

    Cc: stable@kernel.org
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro