#include <linux/module.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/videodev2.h>
#include <linux/mutex.h>
#include <linux/io.h>
#include <linux/pnp.h>
#include <linux/slab.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-device.h>
#include "radio-isa.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;
#ifndef CONFIG_RADIO_GEMTEK_PORT
#define CONFIG_RADIO_GEMTEK_PORT …
#endif
#ifndef CONFIG_RADIO_GEMTEK_PROBE
#define CONFIG_RADIO_GEMTEK_PROBE …
#endif
#define GEMTEK_MAX …
static bool probe = …;
static bool hardmute;
static int io[GEMTEK_MAX] = …;
static int radio_nr[GEMTEK_MAX] = …;
module_param(probe, bool, 0444);
MODULE_PARM_DESC(…) …;
module_param(hardmute, bool, 0644);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
#define FSCALE …
#define IF_OFFSET …
#define REF_FREQ …
#define GEMTEK_CK …
#define GEMTEK_DA …
#define GEMTEK_CE …
#define GEMTEK_NS …
#define GEMTEK_MT …
#define GEMTEK_STDF_3_125_KHZ …
#define GEMTEK_PLL_OFF …
#define BU2614_BUS_SIZE …
#define SHORT_DELAY …
#define LONG_DELAY …
struct gemtek { … };
#define BU2614_FREQ_BITS …
#define BU2614_PORT_BITS …
#define BU2614_VOID_BITS …
#define BU2614_FMES_BITS …
#define BU2614_STDF_BITS …
#define BU2614_SWIN_BITS …
#define BU2614_SWAL_BITS …
#define BU2614_VOID2_BITS …
#define BU2614_FMUN_BITS …
#define BU2614_TEST_BITS …
#define BU2614_FREQ_SHIFT …
#define BU2614_PORT_SHIFT …
#define BU2614_VOID_SHIFT …
#define BU2614_FMES_SHIFT …
#define BU2614_STDF_SHIFT …
#define BU2614_SWIN_SHIFT …
#define BU2614_SWAL_SHIFT …
#define BU2614_VOID2_SHIFT …
#define BU2614_FMUN_SHIFT …
#define BU2614_TEST_SHIFT …
#define MKMASK(field) …
#define BU2614_PORT_MASK …
#define BU2614_FREQ_MASK …
#define BU2614_VOID_MASK …
#define BU2614_FMES_MASK …
#define BU2614_STDF_MASK …
#define BU2614_SWIN_MASK …
#define BU2614_SWAL_MASK …
#define BU2614_VOID2_MASK …
#define BU2614_FMUN_MASK …
#define BU2614_TEST_MASK …
#define gemtek_bu2614_set(dev, field, data) …
static void gemtek_bu2614_transmit(struct gemtek *gt)
{ … }
static unsigned long gemtek_convfreq(unsigned long freq)
{ … }
static struct radio_isa_card *gemtek_alloc(void)
{ … }
static int gemtek_s_frequency(struct radio_isa_card *isa, u32 freq)
{ … }
static int gemtek_s_mute_volume(struct radio_isa_card *isa, bool mute, int vol)
{ … }
static u32 gemtek_g_rxsubchans(struct radio_isa_card *isa)
{ … }
static bool gemtek_probe(struct radio_isa_card *isa, int io)
{ … }
static const struct radio_isa_ops gemtek_ops = …;
static const int gemtek_ioports[] = …;
#ifdef CONFIG_PNP
static const struct pnp_device_id gemtek_pnp_devices[] = …;
MODULE_DEVICE_TABLE(pnp, gemtek_pnp_devices);
#endif
static struct radio_isa_driver gemtek_driver = …;
static int __init gemtek_init(void)
{ … }
static void __exit gemtek_exit(void)
{ … }
module_init(…) …;
module_exit(gemtek_exit);