#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/videodev2.h>
#include <linux/delay.h>
#include <linux/sysfs.h>
#include <linux/ktime.h>
#include <linux/slab.h>
#include "solo6x10.h"
#include "solo6x10-tw28.h"
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;
static unsigned video_nr = …;
module_param(video_nr, uint, 0644);
MODULE_PARM_DESC(…) …;
static int full_eeprom;
module_param(full_eeprom, uint, 0644);
MODULE_PARM_DESC(…) …;
static void solo_set_time(struct solo_dev *solo_dev)
{ … }
static void solo_timer_sync(struct solo_dev *solo_dev)
{ … }
static irqreturn_t solo_isr(int irq, void *data)
{ … }
static void free_solo_dev(struct solo_dev *solo_dev)
{ … }
static ssize_t eeprom_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static ssize_t eeprom_show(struct device *dev, struct device_attribute *attr,
char *buf)
{ … }
static ssize_t p2m_timeouts_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t sdram_size_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t tw28xx_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t input_map_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t p2m_timeout_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static ssize_t p2m_timeout_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t intervals_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t sdram_offsets_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t sdram_show(struct file *file, struct kobject *kobj,
struct bin_attribute *a, char *buf,
loff_t off, size_t count)
{ … }
static const struct device_attribute solo_dev_attrs[] = …;
static void solo_device_release(struct device *dev)
{ … }
static int solo_sysfs_init(struct solo_dev *solo_dev)
{ … }
static int solo_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
{ … }
static void solo_pci_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id solo_id_table[] = …;
MODULE_DEVICE_TABLE(pci, solo_id_table);
static struct pci_driver solo_pci_driver = …;
module_pci_driver(…) …;