linux/drivers/iio/gyro/st_gyro_core.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * STMicroelectronics gyroscopes driver
 *
 * Copyright 2012-2013 STMicroelectronics Inc.
 *
 * Denis Ciocca <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
#include <linux/sysfs.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
#include <linux/iio/trigger.h>

#include <linux/iio/common/st_sensors.h>
#include "st_gyro.h"

#define ST_GYRO_NUMBER_DATA_CHANNELS

/* DEFAULT VALUE FOR SENSORS */
#define ST_GYRO_DEFAULT_OUT_X_L_ADDR
#define ST_GYRO_DEFAULT_OUT_Y_L_ADDR
#define ST_GYRO_DEFAULT_OUT_Z_L_ADDR

/* FULLSCALE */
#define ST_GYRO_FS_AVL_245DPS
#define ST_GYRO_FS_AVL_250DPS
#define ST_GYRO_FS_AVL_500DPS
#define ST_GYRO_FS_AVL_2000DPS

static const struct iio_mount_matrix *
st_gyro_get_mount_matrix(const struct iio_dev *indio_dev,
			 const struct iio_chan_spec *chan)
{}

static const struct iio_chan_spec_ext_info st_gyro_mount_matrix_ext_info[] =;

static const struct iio_chan_spec st_gyro_16bit_channels[] =;

static const struct st_sensor_settings st_gyro_sensors_settings[] =;

/* DRDY on gyros is available only on INT2 pin */
static const struct st_sensors_platform_data gyro_pdata =;

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

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

static ST_SENSORS_DEV_ATTR_SAMP_FREQ_AVAIL();
static ST_SENSORS_DEV_ATTR_SCALE_AVAIL(in_anglvel_scale_available);

static struct attribute *st_gyro_attributes[] =;

static const struct attribute_group st_gyro_attribute_group =;

static const struct iio_info gyro_info =;

#ifdef CONFIG_IIO_TRIGGER
static const struct iio_trigger_ops st_gyro_trigger_ops =;
#define ST_GYRO_TRIGGER_OPS
#else
#define ST_GYRO_TRIGGER_OPS
#endif

/*
 * st_gyro_get_settings() - get sensor settings from device name
 * @name: device name buffer reference.
 *
 * Return: valid reference on success, NULL otherwise.
 */
const struct st_sensor_settings *st_gyro_get_settings(const char *name)
{}
EXPORT_SYMBOL_NS();

int st_gyro_common_probe(struct iio_dev *indio_dev)
{}
EXPORT_SYMBOL_NS();

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