#include <linux/delay.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/sched.h>
#include <asm/io.h>
#include <media/v4l2-device.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-fh.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-event.h>
#include <media/drv-intf/tea575x.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#define TEA575X_BIT_SEARCH …
#define TEA575X_BIT_UPDOWN …
#define TEA575X_BIT_MONO …
#define TEA575X_BIT_BAND_MASK …
#define TEA575X_BIT_BAND_FM …
#define TEA575X_BIT_BAND_MW …
#define TEA575X_BIT_BAND_LW …
#define TEA575X_BIT_BAND_SW …
#define TEA575X_BIT_PORT_0 …
#define TEA575X_BIT_PORT_1 …
#define TEA575X_BIT_SEARCH_MASK …
#define TEA575X_BIT_SEARCH_5_28 …
#define TEA575X_BIT_SEARCH_10_40 …
#define TEA575X_BIT_SEARCH_30_63 …
#define TEA575X_BIT_SEARCH_150_1000 …
#define TEA575X_BIT_DUMMY …
#define TEA575X_BIT_FREQ_MASK …
enum { … };
static const struct v4l2_frequency_band bands[] = …;
static void snd_tea575x_write(struct snd_tea575x *tea, unsigned int val)
{ … }
static u32 snd_tea575x_read(struct snd_tea575x *tea)
{ … }
static u32 snd_tea575x_val_to_freq(struct snd_tea575x *tea, u32 val)
{ … }
static u32 snd_tea575x_get_freq(struct snd_tea575x *tea)
{ … }
void snd_tea575x_set_freq(struct snd_tea575x *tea)
{ … }
EXPORT_SYMBOL(…);
static int vidioc_querycap(struct file *file, void *priv,
struct v4l2_capability *v)
{ … }
int snd_tea575x_enum_freq_bands(struct snd_tea575x *tea,
struct v4l2_frequency_band *band)
{ … }
EXPORT_SYMBOL(…);
static int vidioc_enum_freq_bands(struct file *file, void *priv,
struct v4l2_frequency_band *band)
{ … }
int snd_tea575x_g_tuner(struct snd_tea575x *tea, struct v4l2_tuner *v)
{ … }
EXPORT_SYMBOL(…);
static int vidioc_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *v)
{ … }
static int vidioc_s_tuner(struct file *file, void *priv,
const struct v4l2_tuner *v)
{ … }
static int vidioc_g_frequency(struct file *file, void *priv,
struct v4l2_frequency *f)
{ … }
static int vidioc_s_frequency(struct file *file, void *priv,
const struct v4l2_frequency *f)
{ … }
int snd_tea575x_s_hw_freq_seek(struct file *file, struct snd_tea575x *tea,
const struct v4l2_hw_freq_seek *a)
{ … }
EXPORT_SYMBOL(…);
static int vidioc_s_hw_freq_seek(struct file *file, void *fh,
const struct v4l2_hw_freq_seek *a)
{ … }
static int tea575x_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_file_operations tea575x_fops = …;
static const struct v4l2_ioctl_ops tea575x_ioctl_ops = …;
static const struct video_device tea575x_radio = …;
static const struct v4l2_ctrl_ops tea575x_ctrl_ops = …;
int snd_tea575x_hw_init(struct snd_tea575x *tea)
{ … }
EXPORT_SYMBOL(…);
int snd_tea575x_init(struct snd_tea575x *tea, struct module *owner)
{ … }
EXPORT_SYMBOL(…);
void snd_tea575x_exit(struct snd_tea575x *tea)
{ … }
EXPORT_SYMBOL(…);