linux/drivers/staging/iio/addac/adt7316.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * ADT7316 digital temperature sensor driver supporting ADT7316/7/8 ADT7516/7/9
   4 *
   5 * Copyright 2010 Analog Devices Inc.
   6 */
   7
   8#ifndef _ADT7316_H_
   9#define _ADT7316_H_
  10
  11#include <linux/types.h>
  12#include <linux/pm.h>
  13
  14#define ADT7316_REG_MAX_ADDR            0x3F
  15
  16struct adt7316_bus {
  17        void *client;
  18        int irq;
  19        int (*read)(void *client, u8 reg, u8 *data);
  20        int (*write)(void *client, u8 reg, u8 val);
  21        int (*multi_read)(void *client, u8 first_reg, u8 count, u8 *data);
  22        int (*multi_write)(void *client, u8 first_reg, u8 count, u8 *data);
  23};
  24
  25#ifdef CONFIG_PM_SLEEP
  26extern const struct dev_pm_ops adt7316_pm_ops;
  27#define ADT7316_PM_OPS (&adt7316_pm_ops)
  28#else
  29#define ADT7316_PM_OPS NULL
  30#endif
  31int adt7316_probe(struct device *dev, struct adt7316_bus *bus,
  32                  const char *name);
  33
  34#endif
  35