#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/device.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/crc16.h>
#include <linux/w1.h>
#define W1_COUNTER_DS2423 …
#define CRC16_VALID …
#define CRC16_INIT …
#define COUNTER_COUNT …
#define READ_BYTE_COUNT …
static ssize_t w1_slave_show(struct device *device,
struct device_attribute *attr, char *out_buf)
{ … }
static DEVICE_ATTR_RO(w1_slave);
static struct attribute *w1_f1d_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static const struct w1_family_ops w1_f1d_fops = …;
static struct w1_family w1_family_1d = …;
module_w1_family(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;