1/*
2 * ADT7316 digital temperature sensor driver supporting ADT7316/7/8 ADT7516/7/9
3 *
4 * Copyright 2010 Analog Devices Inc.
5 *
6 * Licensed under the GPL-2 or later.
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, const char *name);
34
35#endif
36