diff options
author | Ondrej Zary <linux@rainbow-software.org> | 2011-05-09 21:39:26 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-05-10 07:29:42 (GMT) |
commit | 14219d06592025541559027d0fd8f96ef75f313c (patch) | |
tree | 0a137c2c9ef92b44c4a901c0c9c7df665db95eaf /include/sound | |
parent | 59bb7f0eebe69aa32a5c7917a23a7da1c5667d73 (diff) | |
download | linux-14219d06592025541559027d0fd8f96ef75f313c.tar.xz |
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 5aade56..e50cb29 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 */ |