#include <linux/io.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-device.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-event.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/platform_data/media/timb_radio.h>
#define DRIVER_NAME …
struct timbradio { … };
static int timbradio_vidioc_querycap(struct file *file, void *priv,
struct v4l2_capability *v)
{ … }
static int timbradio_vidioc_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *v)
{ … }
static int timbradio_vidioc_s_tuner(struct file *file, void *priv,
const struct v4l2_tuner *v)
{ … }
static int timbradio_vidioc_s_frequency(struct file *file, void *priv,
const struct v4l2_frequency *f)
{ … }
static int timbradio_vidioc_g_frequency(struct file *file, void *priv,
struct v4l2_frequency *f)
{ … }
static const struct v4l2_ioctl_ops timbradio_ioctl_ops = …;
static const struct v4l2_file_operations timbradio_fops = …;
static int timbradio_probe(struct platform_device *pdev)
{ … }
static void timbradio_remove(struct platform_device *pdev)
{ … }
static struct platform_driver timbradio_platform_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;
MODULE_ALIAS(…) …;