linux/drivers/staging/iio/addac/adt7316.h
<<
>>
Prefs
   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);
  34int adt7316_remove(struct device *dev);
  35
  36#endif
  37