mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
c942fddf87
Based on 3 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [graeme] [gregory] [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema] [hk] [hemahk]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 1105 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Richard Fontana <rfontana@redhat.com> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
72 lines
1.7 KiB
C
72 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2014, Samsung Electronics Co. Ltd. All Rights Reserved.
|
|
*/
|
|
#ifndef _SSP_SENSORS_H_
|
|
#define _SSP_SENSORS_H_
|
|
|
|
#include <linux/iio/iio.h>
|
|
|
|
#define SSP_TIME_SIZE 4
|
|
#define SSP_ACCELEROMETER_SIZE 6
|
|
#define SSP_GYROSCOPE_SIZE 6
|
|
#define SSP_BIO_HRM_RAW_SIZE 8
|
|
#define SSP_BIO_HRM_RAW_FAC_SIZE 36
|
|
#define SSP_BIO_HRM_LIB_SIZE 8
|
|
|
|
/**
|
|
* enum ssp_sensor_type - SSP sensor type
|
|
*/
|
|
enum ssp_sensor_type {
|
|
SSP_ACCELEROMETER_SENSOR = 0,
|
|
SSP_GYROSCOPE_SENSOR,
|
|
SSP_GEOMAGNETIC_UNCALIB_SENSOR,
|
|
SSP_GEOMAGNETIC_RAW,
|
|
SSP_GEOMAGNETIC_SENSOR,
|
|
SSP_PRESSURE_SENSOR,
|
|
SSP_GESTURE_SENSOR,
|
|
SSP_PROXIMITY_SENSOR,
|
|
SSP_TEMPERATURE_HUMIDITY_SENSOR,
|
|
SSP_LIGHT_SENSOR,
|
|
SSP_PROXIMITY_RAW,
|
|
SSP_ORIENTATION_SENSOR,
|
|
SSP_STEP_DETECTOR,
|
|
SSP_SIG_MOTION_SENSOR,
|
|
SSP_GYRO_UNCALIB_SENSOR,
|
|
SSP_GAME_ROTATION_VECTOR,
|
|
SSP_ROTATION_VECTOR,
|
|
SSP_STEP_COUNTER,
|
|
SSP_BIO_HRM_RAW,
|
|
SSP_BIO_HRM_RAW_FAC,
|
|
SSP_BIO_HRM_LIB,
|
|
SSP_SENSOR_MAX,
|
|
};
|
|
|
|
struct ssp_data;
|
|
|
|
/**
|
|
* struct ssp_sensor_data - Sensor object
|
|
* @process_data: Callback to feed sensor data.
|
|
* @type: Used sensor type.
|
|
* @buffer: Received data buffer.
|
|
*/
|
|
struct ssp_sensor_data {
|
|
int (*process_data)(struct iio_dev *indio_dev, void *buf,
|
|
int64_t timestamp);
|
|
enum ssp_sensor_type type;
|
|
u8 *buffer;
|
|
};
|
|
|
|
void ssp_register_consumer(struct iio_dev *indio_dev,
|
|
enum ssp_sensor_type type);
|
|
|
|
int ssp_enable_sensor(struct ssp_data *data, enum ssp_sensor_type type,
|
|
u32 delay);
|
|
|
|
int ssp_disable_sensor(struct ssp_data *data, enum ssp_sensor_type type);
|
|
|
|
u32 ssp_get_sensor_delay(struct ssp_data *data, enum ssp_sensor_type);
|
|
|
|
int ssp_change_delay(struct ssp_data *data, enum ssp_sensor_type type,
|
|
u32 delay);
|
|
#endif /* _SSP_SENSORS_H_ */
|