linux-stable/sound/soc
Lars-Peter Clausen 30ab1e7886 ASoC: ad193x: Setup regmap read and write flag masks for SPI
Currently register read-back for the ad193x is broken, because it expects bit 0
of the upper byte to be set to indicate a read operation, while the regmap
default for SPI is to use bit 7.

This patch also addresses another oddity of the device. There are SPI and I2C
versions of this codec. In both cases the registers are 8-bit wide and numbered
from 0x0 to 0x10, but in the SPI case there is also a so called
'global address' which is prefixed in-front of the register address. The global
address mimics I2C behaviour and includes a static device address the and the
read/write flag. This basically extends the register address to an 16-bit value
numbered from 0x800 to 0x810. These are the register numbers which are
currently used by the driver. This works, because I2C will ignore the upper
8 bits of the register, but it is still a bit confusing, as there are no such
register numbers in the I2C case.

The approach taken by this patch is to number the registers from 0x00 to 0x10
and encode the global address for SPI mode into the read and write flag masks.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-09-09 11:13:31 -07:00
..
atmel ASoC: playpaq_wm8510: Return proper error if clk_get fails 2011-09-09 09:42:00 -07:00
au1x ASoC: Remove unreachable code in au1xac97c_drvprobe and au1xi2s_drvprobe 2011-08-17 16:24:16 +09:00
blackfin Merge branch 'for-3.1' into for-3.2 2011-09-05 18:13:31 -07:00
codecs ASoC: ad193x: Setup regmap read and write flag masks for SPI 2011-09-09 11:13:31 -07:00
davinci ASoC: davinci-mcasp: add support for unsigned PCM formats 2011-08-29 10:11:17 +01:00
ep93xx sound/soc/ep93xx/ep93xx-i2s.c: add missing kfree 2011-08-22 23:28:42 +01:00
fsl ASoC: Remove redundant -codec from WM8776 driver name 2011-08-31 09:52:24 +01:00
imx Merge branch 'for-3.1' into for-3.2 2011-08-31 09:57:44 +01:00
jz4740 ASoC: core - Optimise and refactor pcm_new() to pass only rtd 2011-06-07 18:38:27 +01:00
kirkwood sound/soc/kirkwood/kirkwood-i2s.c: add missing kfree 2011-08-22 23:26:56 +01:00
mid-x86 ASoC: sst_platform: fix memory leak 2011-09-08 15:43:03 -07:00
mxs ASoC: mxs-sgtl5000: add record function 2011-08-22 23:36:15 +01:00
nuc900 ASoC: nuc900-pcm: remove unused variable 'dai' 2011-08-15 22:52:04 +09:00
omap ASoC: omap: Fix build errors in ams-delta 2011-08-19 01:19:45 +09:00
pxa ASoC: Add missing platform_device_put in raumfeld_audio_init error path 2011-09-05 18:13:04 -07:00
s6000 ASoC: s6000-pcm: remove unused variable 'dai' 2011-08-15 22:51:48 +09:00
samsung ASoC: Allow source specification for CODEC level sysclk 2011-08-31 09:57:35 +01:00
sh Merge branch 'for-3.0' into for-3.1 2011-07-09 19:06:33 +09:00
tegra ASoC: Tegra: wm8903 machine driver: Drop Ventana support 2011-08-24 10:38:05 +01:00
txx9 ASoC: Fix txx9aclc.c build 2011-07-29 07:53:08 +02:00
Kconfig Merge branch 'regmap-asoc' into for-3.2 2011-08-08 15:00:13 +09:00
Makefile ASoC: mxs: add asoc configuration files 2011-07-28 11:47:41 +01:00
soc-cache.c Merge branch 'for-3.1' into for-3.2 2011-08-31 09:46:42 +01:00
soc-core.c ASoC: Remove unused step size from debugfs CODEC write function 2011-09-08 15:38:18 -07:00
soc-dapm.c Merge branch 'for-3.1' into for-3.2 2011-08-31 09:46:42 +01:00
soc-io.c ASoC: Add spi hw read function for 16 addr 8 data mode for ad193x fix 2011-08-15 22:38:14 +09:00
soc-jack.c ASoC: Fix reporting of partial jack updates 2011-09-05 18:10:52 -07:00
soc-pcm.c Merge branch 'for-3.1' into for-3.2 2011-08-17 16:34:05 +09:00
soc-utils.c ASoC: Work around allmodconfig failure 2011-04-28 12:09:06 +01:00