#include <linux/module.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/pci.h>
#include <linux/videodev2.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <media/drv-intf/tea575x.h>
#include <media/v4l2-device.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-fh.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-event.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;
static int radio_nr = …;
module_param(radio_nr, int, 0644);
MODULE_PARM_DESC(…) …;
static const int clk = …, data = …, wren = …, mo_st = …, power = …;
static atomic_t maxiradio_instance = …;
#define PCI_VENDOR_ID_GUILLEMOT …
#define PCI_DEVICE_ID_GUILLEMOT_MAXIRADIO …
struct maxiradio
{ … };
static inline struct maxiradio *to_maxiradio(struct v4l2_device *v4l2_dev)
{ … }
static void maxiradio_tea575x_set_pins(struct snd_tea575x *tea, u8 pins)
{ … }
static u8 maxiradio_tea575x_get_pins(struct snd_tea575x *tea)
{ … }
static void maxiradio_tea575x_set_direction(struct snd_tea575x *tea, bool output)
{ … }
static const struct snd_tea575x_ops maxiradio_tea_ops = …;
static int maxiradio_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{ … }
static void maxiradio_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id maxiradio_pci_tbl[] = …;
MODULE_DEVICE_TABLE(pci, maxiradio_pci_tbl);
static struct pci_driver maxiradio_driver = …;
module_pci_driver(…) …;