linux/drivers/iio/light/st_uvis25_core.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * STMicroelectronics uvis25 sensor driver
 *
 * Copyright 2017 STMicroelectronics Inc.
 *
 * Lorenzo Bianconi <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/iio/sysfs.h>
#include <linux/delay.h>
#include <linux/pm.h>
#include <linux/interrupt.h>
#include <linux/irqreturn.h>
#include <linux/iio/trigger.h>
#include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h>
#include <linux/iio/buffer.h>
#include <linux/regmap.h>

#include "st_uvis25.h"

#define ST_UVIS25_REG_WHOAMI_ADDR
#define ST_UVIS25_REG_WHOAMI_VAL
#define ST_UVIS25_REG_CTRL1_ADDR
#define ST_UVIS25_REG_ODR_MASK
#define ST_UVIS25_REG_BDU_MASK
#define ST_UVIS25_REG_CTRL2_ADDR
#define ST_UVIS25_REG_BOOT_MASK
#define ST_UVIS25_REG_CTRL3_ADDR
#define ST_UVIS25_REG_HL_MASK
#define ST_UVIS25_REG_STATUS_ADDR
#define ST_UVIS25_REG_UV_DA_MASK
#define ST_UVIS25_REG_OUT_ADDR

static const struct iio_chan_spec st_uvis25_channels[] =;

static int st_uvis25_check_whoami(struct st_uvis25_hw *hw)
{}

static int st_uvis25_set_enable(struct st_uvis25_hw *hw, bool enable)
{}

static int st_uvis25_read_oneshot(struct st_uvis25_hw *hw, u8 addr, int *val)
{}

static int st_uvis25_read_raw(struct iio_dev *iio_dev,
			      struct iio_chan_spec const *ch,
			      int *val, int *val2, long mask)
{}

static irqreturn_t st_uvis25_trigger_handler_thread(int irq, void *private)
{}

static int st_uvis25_allocate_trigger(struct iio_dev *iio_dev)
{}

static int st_uvis25_buffer_preenable(struct iio_dev *iio_dev)
{}

static int st_uvis25_buffer_postdisable(struct iio_dev *iio_dev)
{}

static const struct iio_buffer_setup_ops st_uvis25_buffer_ops =;

static irqreturn_t st_uvis25_buffer_handler_thread(int irq, void *p)
{}

static int st_uvis25_allocate_buffer(struct iio_dev *iio_dev)
{}

static const struct iio_info st_uvis25_info =;

static int st_uvis25_init_sensor(struct st_uvis25_hw *hw)
{}

int st_uvis25_probe(struct device *dev, int irq, struct regmap *regmap)
{}
EXPORT_SYMBOL_NS();

static int st_uvis25_suspend(struct device *dev)
{}

static int st_uvis25_resume(struct device *dev)
{}

EXPORT_NS_SIMPLE_DEV_PM_OPS(st_uvis25_pm_ops, st_uvis25_suspend, st_uvis25_resume, IIO_UVIS25);

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