aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2011-05-09 17:39:26 -0400
committerTakashi Iwai <tiwai@suse.de>2011-05-10 03:29:42 -0400
commit14219d06592025541559027d0fd8f96ef75f313c (patch)
tree0a137c2c9ef92b44c4a901c0c9c7df665db95eaf /include/sound
parent59bb7f0eebe69aa32a5c7917a23a7da1c5667d73 (diff)
ALSA: tea575x: unify read/write functions
Implement generic read/write functions to access TEA575x tuners. They're now implemented 4 times (once in es1968 and 3 times in fm801). This also allows mute to work on all cards. Also improve tuner detection/initialization. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/tea575x-tuner.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/include/sound/tea575x-tuner.h b/include/sound/tea575x-tuner.h
index 5aade569439b..e50cb2934efe 100644
--- a/include/sound/tea575x-tuner.h
+++ b/include/sound/tea575x-tuner.h
@@ -26,12 +26,17 @@
26#include <media/v4l2-dev.h> 26#include <media/v4l2-dev.h>
27#include <media/v4l2-ioctl.h> 27#include <media/v4l2-ioctl.h>
28 28
29#define TEA575X_DATA (1 << 0)
30#define TEA575X_CLK (1 << 1)
31#define TEA575X_WREN (1 << 2)
32#define TEA575X_MOST (1 << 3)
33
29struct snd_tea575x; 34struct snd_tea575x;
30 35
31struct snd_tea575x_ops { 36struct snd_tea575x_ops {
32 void (*write)(struct snd_tea575x *tea, unsigned int val); 37 void (*set_pins)(struct snd_tea575x *tea, u8 pins);
33 unsigned int (*read)(struct snd_tea575x *tea); 38 u8 (*get_pins)(struct snd_tea575x *tea);
34 void (*mute)(struct snd_tea575x *tea, unsigned int mute); 39 void (*set_direction)(struct snd_tea575x *tea, bool output);
35}; 40};
36 41
37struct snd_tea575x { 42struct snd_tea575x {
@@ -49,7 +54,7 @@ struct snd_tea575x {
49 void *private_data; 54 void *private_data;
50}; 55};
51 56
52void snd_tea575x_init(struct snd_tea575x *tea); 57int snd_tea575x_init(struct snd_tea575x *tea);
53void snd_tea575x_exit(struct snd_tea575x *tea); 58void snd_tea575x_exit(struct snd_tea575x *tea);
54 59
55#endif /* __SOUND_TEA575X_TUNER_H */ 60#endif /* __SOUND_TEA575X_TUNER_H */