linux/drivers/iio/humidity/hdc2010.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * hdc2010.c - Support for the TI HDC2010 and HDC2080
 * temperature + relative humidity sensors
 *
 * Copyright (C) 2020 Norphonic AS
 * Author: Eugene Zaikonnikov <[email protected]>
 *
 * Datasheet: https://www.ti.com/product/HDC2010/datasheet
 * Datasheet: https://www.ti.com/product/HDC2080/datasheet
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/i2c.h>
#include <linux/bitops.h>

#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>

#define HDC2010_REG_TEMP_LOW
#define HDC2010_REG_TEMP_HIGH
#define HDC2010_REG_HUMIDITY_LOW
#define HDC2010_REG_HUMIDITY_HIGH
#define HDC2010_REG_INTERRUPT_DRDY
#define HDC2010_REG_TEMP_MAX
#define HDC2010_REG_HUMIDITY_MAX
#define HDC2010_REG_INTERRUPT_EN
#define HDC2010_REG_TEMP_OFFSET_ADJ
#define HDC2010_REG_HUMIDITY_OFFSET_ADJ
#define HDC2010_REG_TEMP_THR_L
#define HDC2010_REG_TEMP_THR_H
#define HDC2010_REG_RH_THR_L
#define HDC2010_REG_RH_THR_H
#define HDC2010_REG_RESET_DRDY_INT_CONF
#define HDC2010_REG_MEASUREMENT_CONF

#define HDC2010_MEAS_CONF
#define HDC2010_MEAS_TRIG
#define HDC2010_HEATER_EN
#define HDC2010_AMM

struct hdc2010_data {};

enum hdc2010_addr_groups {};

struct hdc2010_reg_record {};

static const struct hdc2010_reg_record hdc2010_reg_translation[] =;

static IIO_CONST_ATTR(out_current_heater_raw_available, "0 1");

static struct attribute *hdc2010_attributes[] =;

static const struct attribute_group hdc2010_attribute_group =;

static const struct iio_chan_spec hdc2010_channels[] =;

static int hdc2010_update_drdy_config(struct hdc2010_data *data,
					     char mask, char val)
{}

static int hdc2010_get_prim_measurement_word(struct hdc2010_data *data,
					     struct iio_chan_spec const *chan)
{}

static int hdc2010_get_peak_measurement_byte(struct hdc2010_data *data,
					     struct iio_chan_spec const *chan)
{}

static int hdc2010_get_heater_status(struct hdc2010_data *data)
{}

static int hdc2010_read_raw(struct iio_dev *indio_dev,
			    struct iio_chan_spec const *chan, int *val,
			    int *val2, long mask)
{}

static int hdc2010_write_raw(struct iio_dev *indio_dev,
			     struct iio_chan_spec const *chan,
			     int val, int val2, long mask)
{}

static const struct iio_info hdc2010_info =;

static int hdc2010_probe(struct i2c_client *client)
{}

static void hdc2010_remove(struct i2c_client *client)
{}

static const struct i2c_device_id hdc2010_id[] =;
MODULE_DEVICE_TABLE(i2c, hdc2010_id);

static const struct of_device_id hdc2010_dt_ids[] =;
MODULE_DEVICE_TABLE(of, hdc2010_dt_ids);

static struct i2c_driver hdc2010_driver =;
module_i2c_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();