#include <linux/module.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/videodev2.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <media/v4l2-device.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-ctrls.h>
#include "radio-isa.h"
#include "lm7000.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;
#ifndef CONFIG_RADIO_RTRACK_PORT
#define CONFIG_RADIO_RTRACK_PORT …
#endif
#define RTRACK_MAX …
static int io[RTRACK_MAX] = …;
static int radio_nr[RTRACK_MAX] = …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
struct rtrack { … };
static struct radio_isa_card *rtrack_alloc(void)
{ … }
#define AIMS_BIT_TUN_CE …
#define AIMS_BIT_TUN_CLK …
#define AIMS_BIT_TUN_DATA …
#define AIMS_BIT_VOL_CE …
#define AIMS_BIT_TUN_STRQ …
#define AIMS_BIT_VOL_UP …
#define AIMS_BIT_VOL_DN …
static void rtrack_set_pins(void *handle, u8 pins)
{ … }
static int rtrack_s_frequency(struct radio_isa_card *isa, u32 freq)
{ … }
static u32 rtrack_g_signal(struct radio_isa_card *isa)
{ … }
static int rtrack_s_mute_volume(struct radio_isa_card *isa, bool mute, int vol)
{ … }
static int rtrack_initialize(struct radio_isa_card *isa)
{ … }
static const struct radio_isa_ops rtrack_ops = …;
static const int rtrack_ioports[] = …;
static struct radio_isa_driver rtrack_driver = …;
static int __init rtrack_init(void)
{ … }
static void __exit rtrack_exit(void)
{ … }
module_init(…) …;
module_exit(rtrack_exit);