06 Dec, 2011
1 commit
-
They're not currently actively worked on, the hardware being rather
obsolete by now.Signed-off-by: Mark Brown
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 2Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
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 1Add 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 2SND_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 2Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
Return proper error for uda1380_modinit if i2c_add_driver() fails.
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
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 2Also fix the same issue for SND_KIRKWOOD_SOC_OPENRD.
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
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
29 Nov, 2011
5 commits
-
Currently the SigmaDSP firmware loader only works correctly on little-endian
systems. Fix this by using the proper endianess conversion functions.Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The firmware header is not part of the CRC, so skip it. Otherwise the firmware
will be rejected due to non-matching CRCs.Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The SigmaDSP firmware loader currently does not perform enough boundary size
checks when processing the firmware. As a result it is possible that a
malformed firmware can cause an out of bounds memory access.This patch adds checks which ensure that both the action header and the payload
are completely inside the firmware data boundaries before processing them.Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
Based on initial data.
Signed-off-by: Mark Brown
-
Signed-off-by: Mark Brown
28 Nov, 2011
1 commit
-
Signed-off-by: Mark Brown
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 -
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 -
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 -
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 -
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 -
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 constantSigned-off-by: Boojin Kim
Signed-off-by: Mark Brown
22 Nov, 2011
3 commits
-
In the case of ((max9877_regs[reg] >> shift) & mask) != val
but ((max9877_regs[reg2] >> shift) & mask) == val2,
current code does not update the registers.Fix the logic to update registers if either val or val2 is changed.
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
According to the datasheet:
The BIT[5:4] of ADC Control Register 2 is to control the word width.
00 = 25 Bits
01 = 20 Bits
10 = 16 Bits
11 = InvalidThus, the AD1836_ADC_WORD_OFFSET should be defined as 4.
Signed-off-by: Axel Lin
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
21 Nov, 2011
2 commits
-
Signed-off-by: Axel Lin
Acked-by: Alexander Sverdlin
Signed-off-by: Mark Brown
20 Nov, 2011
7 commits
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the arrays.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the arrays.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
the last entry from being omitted.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
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 allowaplay -t raw -r 44100 -f S16_LE -c 2 < /dev/urandom &
alsactl store -f backup.state
alsactl restore -f backup.stateto 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
15 Nov, 2011
2 commits
-
Commit 6992f533 ("sysfs: Use one lockdep class per sysfs attribute")
requires 'struct attribute' objects to be initialized with sysfs_attr_init().Signed-off-by: Timur Tabi
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The coefficient RAM must be saved in a shadow so it can
be restored when the codec is powered on using
regulator_bulk_enable().Signed-off-by: Johannes Stezenbach
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
10 Nov, 2011
1 commit
-
Signed-off-by: Jassi Brar
Signed-off-by: Mark Brown
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 -
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 -
.. 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. -
* '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
... -
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/testthen 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