#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/jiffies.h>
#include <linux/device.h>
#include <linux/pci.h>
#include <linux/hwmon.h>
#include <linux/err.h>
#include <linux/mutex.h>
#define REG_TSTHRCATA …
#define REG_TSCTRL …
#define REG_TSTHRRPEX …
#define REG_TSTHRLO …
#define REG_TSTHRHI …
#define REG_CTHINT …
#define REG_TSFSC …
#define REG_CTSTS …
#define REG_TSTHRRQPI …
#define REG_CTCTRL …
#define REG_TSTIMER …
static umode_t i5500_is_visible(const void *drvdata, enum hwmon_sensor_types type, u32 attr,
int channel)
{ … }
static int i5500_read(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel,
long *val)
{ … }
static const struct hwmon_ops i5500_ops = …;
static const struct hwmon_channel_info * const i5500_info[] = …;
static const struct hwmon_chip_info i5500_chip_info = …;
static const struct pci_device_id i5500_temp_ids[] = …;
MODULE_DEVICE_TABLE(pci, i5500_temp_ids);
static int i5500_temp_probe(struct pci_dev *pdev,
const struct pci_device_id *id)
{ … }
static struct pci_driver i5500_temp_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;