summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2011-05-09 23:39:26 +0200
committerTakashi Iwai <tiwai@suse.de>2011-05-10 09:29:42 +0200
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 5aade569439..e50cb2934ef 100644
--- a/include/sound/tea575x-tuner.h
+++ b/include/sound/tea575x-tuner.h
@@ -26,12 +26,17 @@
#include <media/v4l2-dev.h>
#include <media/v4l2-ioctl.h>
+#define TEA575X_DATA (1 << 0)
+#define TEA575X_CLK (1 << 1)
+#define TEA575X_WREN (1 << 2)
+#define TEA575X_MOST (1 << 3)
+
struct snd_tea575x;
struct snd_tea575x_ops {
- void (*write)(struct snd_tea575x *tea, unsigned int val);
- unsigned int (*read)(struct snd_tea575x *tea);
- void (*mute)(struct snd_tea575x *tea, unsigned int mute);
+ void (*set_pins)(struct snd_tea575x *tea, u8 pins);
+ u8 (*get_pins)(struct snd_tea575x *tea);
+ void (*set_direction)(struct snd_tea575x *tea, bool output);
};
struct snd_tea575x {
@@ -49,7 +54,7 @@ struct snd_tea575x {
void *private_data;
};
-void snd_tea575x_init(struct snd_tea575x *tea);
+int snd_tea575x_init(struct snd_tea575x *tea);
void snd_tea575x_exit(struct snd_tea575x *tea);
#endif /* __SOUND_TEA575X_TUNER_H */