#include <asm/types.h>
#include <linux/atomic.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/timer.h>
#include <linux/slab.h>
#include <linux/pci_ids.h>
#include <linux/pci.h>
#include <linux/w1.h>
#define MATROX_G400_DDC_CLK …
#define MATROX_G400_DDC_DATA …
#define MATROX_BASE …
#define MATROX_STATUS …
#define MATROX_PORT_INDEX_OFFSET …
#define MATROX_PORT_DATA_OFFSET …
#define MATROX_GET_CONTROL …
#define MATROX_GET_DATA …
#define MATROX_CURSOR_CTL …
struct matrox_device { … };
static inline u8 matrox_w1_read_reg(struct matrox_device *dev, u8 reg)
{ … }
static inline void matrox_w1_write_reg(struct matrox_device *dev, u8 reg, u8 val)
{ … }
static void matrox_w1_write_ddc_bit(void *data, u8 bit)
{ … }
static u8 matrox_w1_read_ddc_bit(void *data)
{ … }
static void matrox_w1_hw_init(struct matrox_device *dev)
{ … }
static int matrox_w1_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void matrox_w1_remove(struct pci_dev *pdev)
{ … }
static struct pci_device_id matrox_w1_tbl[] = …;
MODULE_DEVICE_TABLE(pci, matrox_w1_tbl);
static struct pci_driver matrox_w1_pci_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;