1
2
3
4
5
6
7
8
9#ifndef _ADT7316_H_
10#define _ADT7316_H_
11
12#include <linux/types.h>
13#include <linux/pm.h>
14
15#define ADT7316_REG_MAX_ADDR 0x3F
16
17struct adt7316_bus {
18 void *client;
19 int irq;
20 int irq_flags;
21 int (*read)(void *client, u8 reg, u8 *data);
22 int (*write)(void *client, u8 reg, u8 val);
23 int (*multi_read)(void *client, u8 first_reg, u8 count, u8 *data);
24 int (*multi_write)(void *client, u8 first_reg, u8 count, u8 *data);
25};
26
27#ifdef CONFIG_PM_SLEEP
28extern const struct dev_pm_ops adt7316_pm_ops;
29#define ADT7316_PM_OPS (&adt7316_pm_ops)
30#else
31#define ADT7316_PM_OPS NULL
32#endif
33int adt7316_probe(struct device *dev, struct adt7316_bus *bus,
34 const char *name);
35
36#endif
37