diff options
author | Hans de Goede <hdegoede@redhat.com> | 2012-05-18 14:36:17 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-30 22:56:26 +0200 |
commit | 31a62d415726d94bae5caf5f2e50232aa06babf6 (patch) | |
tree | 124ec997e8674c1d6ee19d1e3e4714e8da4df1ac /sound/i2c | |
parent | [media] Fix VIDIOC_TRY_EXT_CTRLS regression (diff) | |
download | linux-31a62d415726d94bae5caf5f2e50232aa06babf6.tar.xz linux-31a62d415726d94bae5caf5f2e50232aa06babf6.zip |
[media] snd_tea575x: Add write_/read_val operations
Some devices which use the tea575x tuner chip don't allow bit banging the
lines, instead they offer a method to directly set / get the contents of the
25 bit shift-register in the chip. Notably the Griffin radioSHARK USB radio
receiver does this.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
CC: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'sound/i2c')
-rw-r--r-- | sound/i2c/other/tea575x-tuner.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/i2c/other/tea575x-tuner.c b/sound/i2c/other/tea575x-tuner.c index b29b88f93c9e..080aae9d1198 100644 --- a/sound/i2c/other/tea575x-tuner.c +++ b/sound/i2c/other/tea575x-tuner.c @@ -71,6 +71,9 @@ static void snd_tea575x_write(struct snd_tea575x *tea, unsigned int val) u16 l; u8 data; + if (tea->ops->write_val) + return tea->ops->write_val(tea, val); + tea->ops->set_direction(tea, 1); udelay(16); @@ -94,6 +97,9 @@ static u32 snd_tea575x_read(struct snd_tea575x *tea) u16 l, rdata; u32 data = 0; + if (tea->ops->read_val) + return tea->ops->read_val(tea); + tea->ops->set_direction(tea, 0); tea->ops->set_pins(tea, 0); udelay(16); |