diff options
author | Ondrej Zary <linux@rainbow-software.org> | 2011-05-09 17:39:26 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-05-10 03:29:42 -0400 |
commit | 14219d06592025541559027d0fd8f96ef75f313c (patch) | |
tree | 0a137c2c9ef92b44c4a901c0c9c7df665db95eaf /include/sound | |
parent | 59bb7f0eebe69aa32a5c7917a23a7da1c5667d73 (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.h | 13 |
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 | |||
29 | struct snd_tea575x; | 34 | struct snd_tea575x; |
30 | 35 | ||
31 | struct snd_tea575x_ops { | 36 | struct 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 | ||
37 | struct snd_tea575x { | 42 | struct snd_tea575x { |
@@ -49,7 +54,7 @@ struct snd_tea575x { | |||
49 | void *private_data; | 54 | void *private_data; |
50 | }; | 55 | }; |
51 | 56 | ||
52 | void snd_tea575x_init(struct snd_tea575x *tea); | 57 | int snd_tea575x_init(struct snd_tea575x *tea); |
53 | void snd_tea575x_exit(struct snd_tea575x *tea); | 58 | void snd_tea575x_exit(struct snd_tea575x *tea); |
54 | 59 | ||
55 | #endif /* __SOUND_TEA575X_TUNER_H */ | 60 | #endif /* __SOUND_TEA575X_TUNER_H */ |