#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/slab.h>
#include <linux/w1.h>
#define W1_FAMILY_DS2413 …
#define W1_F3A_RETRIES …
#define W1_F3A_FUNC_PIO_ACCESS_READ …
#define W1_F3A_FUNC_PIO_ACCESS_WRITE …
#define W1_F3A_SUCCESS_CONFIRM_BYTE …
#define W1_F3A_INVALID_PIO_STATE …
static ssize_t state_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, char *buf, loff_t off,
size_t count)
{ … }
static BIN_ATTR_RO(state, 1);
static ssize_t output_write(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, char *buf,
loff_t off, size_t count)
{ … }
static BIN_ATTR(output, 0664, NULL, output_write, 1);
static struct bin_attribute *w1_f3a_bin_attrs[] = …;
static const struct attribute_group w1_f3a_group = …;
static const struct attribute_group *w1_f3a_groups[] = …;
static const struct w1_family_ops w1_f3a_fops = …;
static struct w1_family w1_family_3a = …;
module_w1_family(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;