#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/time.h>
#include <linux/units.h>
#include <linux/hid-sensor-hub.h>
#include <linux/iio/iio.h>
static struct { … } unit_conversion[] = …;
static void simple_div(int dividend, int divisor, int *whole,
int *micro_frac)
{ … }
static void split_micro_fraction(unsigned int no, int exp, int *val1, int *val2)
{ … }
static void convert_from_vtf_format(u32 value, int size, int exp,
int *val1, int *val2)
{ … }
static u32 convert_to_vtf_format(int size, int exp, int val1, int val2)
{ … }
s32 hid_sensor_read_poll_value(struct hid_sensor_common *st)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st,
int *val1, int *val2)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_write_samp_freq_value(struct hid_sensor_common *st,
int val1, int val2)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_read_raw_hyst_value(struct hid_sensor_common *st,
int *val1, int *val2)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_read_raw_hyst_rel_value(struct hid_sensor_common *st, int *val1,
int *val2)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_write_raw_hyst_value(struct hid_sensor_common *st,
int val1, int val2)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_write_raw_hyst_rel_value(struct hid_sensor_common *st,
int val1, int val2)
{ … }
EXPORT_SYMBOL_NS(…);
static void adjust_exponent_nano(int *val0, int *val1, int scale0,
int scale1, int exp)
{ … }
int hid_sensor_format_scale(u32 usage_id,
struct hid_sensor_hub_attribute_info *attr_info,
int *val0, int *val1)
{ … }
EXPORT_SYMBOL_NS(…);
int64_t hid_sensor_convert_timestamp(struct hid_sensor_common *st,
int64_t raw_value)
{ … }
EXPORT_SYMBOL_NS(…);
static
int hid_sensor_get_reporting_interval(struct hid_sensor_hub_device *hsdev,
u32 usage_id,
struct hid_sensor_common *st)
{ … }
static void hid_sensor_get_report_latency_info(struct hid_sensor_hub_device *hsdev,
u32 usage_id,
struct hid_sensor_common *st)
{ … }
int hid_sensor_get_report_latency(struct hid_sensor_common *st)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_set_report_latency(struct hid_sensor_common *st, int latency_ms)
{ … }
EXPORT_SYMBOL_NS(…);
bool hid_sensor_batch_mode_supported(struct hid_sensor_common *st)
{ … }
EXPORT_SYMBOL_NS(…);
int hid_sensor_parse_common_attributes(struct hid_sensor_hub_device *hsdev,
u32 usage_id,
struct hid_sensor_common *st,
const u32 *sensitivity_addresses,
u32 sensitivity_addresses_len)
{ … }
EXPORT_SYMBOL_NS(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;