mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge branch 'for-4.1/sensor-hub' into for-linus
Conflicts: drivers/iio/common/hid-sensors/hid-sensor-trigger.c include/linux/hid-sensor-hub.h
This commit is contained in:
commit
2e455c27bd
17 changed files with 1154 additions and 110 deletions
|
|
@ -123,7 +123,8 @@ static int accel_3d_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
accel_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_ACCEL_3D, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
else {
|
||||
*val = 0;
|
||||
hid_sensor_power_state(&accel_state->common_attributes,
|
||||
|
|
|
|||
|
|
@ -153,8 +153,8 @@ s32 hid_sensor_read_poll_value(struct hid_sensor_common *st)
|
|||
int ret;
|
||||
|
||||
ret = sensor_hub_get_feature(st->hsdev,
|
||||
st->poll.report_id,
|
||||
st->poll.index, &value);
|
||||
st->poll.report_id,
|
||||
st->poll.index, sizeof(value), &value);
|
||||
|
||||
if (ret < 0 || value < 0) {
|
||||
return -EINVAL;
|
||||
|
|
@ -174,8 +174,8 @@ int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st,
|
|||
int ret;
|
||||
|
||||
ret = sensor_hub_get_feature(st->hsdev,
|
||||
st->poll.report_id,
|
||||
st->poll.index, &value);
|
||||
st->poll.report_id,
|
||||
st->poll.index, sizeof(value), &value);
|
||||
if (ret < 0 || value < 0) {
|
||||
*val1 = *val2 = 0;
|
||||
return -EINVAL;
|
||||
|
|
@ -212,9 +212,8 @@ int hid_sensor_write_samp_freq_value(struct hid_sensor_common *st,
|
|||
else
|
||||
value = 0;
|
||||
}
|
||||
ret = sensor_hub_set_feature(st->hsdev,
|
||||
st->poll.report_id,
|
||||
st->poll.index, value);
|
||||
ret = sensor_hub_set_feature(st->hsdev, st->poll.report_id,
|
||||
st->poll.index, sizeof(value), &value);
|
||||
if (ret < 0 || value < 0)
|
||||
ret = -EINVAL;
|
||||
|
||||
|
|
@ -229,8 +228,9 @@ int hid_sensor_read_raw_hyst_value(struct hid_sensor_common *st,
|
|||
int ret;
|
||||
|
||||
ret = sensor_hub_get_feature(st->hsdev,
|
||||
st->sensitivity.report_id,
|
||||
st->sensitivity.index, &value);
|
||||
st->sensitivity.report_id,
|
||||
st->sensitivity.index, sizeof(value),
|
||||
&value);
|
||||
if (ret < 0 || value < 0) {
|
||||
*val1 = *val2 = 0;
|
||||
return -EINVAL;
|
||||
|
|
@ -253,9 +253,9 @@ int hid_sensor_write_raw_hyst_value(struct hid_sensor_common *st,
|
|||
value = convert_to_vtf_format(st->sensitivity.size,
|
||||
st->sensitivity.unit_expo,
|
||||
val1, val2);
|
||||
ret = sensor_hub_set_feature(st->hsdev,
|
||||
st->sensitivity.report_id,
|
||||
st->sensitivity.index, value);
|
||||
ret = sensor_hub_set_feature(st->hsdev, st->sensitivity.report_id,
|
||||
st->sensitivity.index, sizeof(value),
|
||||
&value);
|
||||
if (ret < 0 || value < 0)
|
||||
ret = -EINVAL;
|
||||
|
||||
|
|
|
|||
|
|
@ -68,20 +68,21 @@ static int _hid_sensor_power_state(struct hid_sensor_common *st, bool state)
|
|||
if (state_val >= 0) {
|
||||
state_val += st->power_state.logical_minimum;
|
||||
sensor_hub_set_feature(st->hsdev, st->power_state.report_id,
|
||||
st->power_state.index,
|
||||
(s32)state_val);
|
||||
st->power_state.index, sizeof(state_val),
|
||||
&state_val);
|
||||
}
|
||||
|
||||
if (report_val >= 0) {
|
||||
report_val += st->report_state.logical_minimum;
|
||||
sensor_hub_set_feature(st->hsdev, st->report_state.report_id,
|
||||
st->report_state.index,
|
||||
(s32)report_val);
|
||||
st->report_state.index,
|
||||
sizeof(report_val),
|
||||
&report_val);
|
||||
}
|
||||
|
||||
sensor_hub_get_feature(st->hsdev, st->power_state.report_id,
|
||||
st->power_state.index,
|
||||
&state_val);
|
||||
st->power_state.index,
|
||||
sizeof(state_val), &state_val);
|
||||
if (state && poll_value)
|
||||
msleep_interruptible(poll_value * 2);
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,8 @@ static int gyro_3d_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
gyro_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_GYRO_3D, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
else {
|
||||
*val = 0;
|
||||
hid_sensor_power_state(&gyro_state->common_attributes,
|
||||
|
|
|
|||
|
|
@ -101,7 +101,8 @@ static int als_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
als_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_ALS, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
hid_sensor_power_state(&als_state->common_attributes,
|
||||
false);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -96,7 +96,8 @@ static int prox_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
prox_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_PROX, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
hid_sensor_power_state(&prox_state->common_attributes,
|
||||
false);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -170,7 +170,8 @@ static int magn_3d_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
magn_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_COMPASS_3D, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
else {
|
||||
*val = 0;
|
||||
hid_sensor_power_state(&magn_state->common_attributes,
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ static int incl_3d_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
incl_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_INCLINOMETER_3D, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
else {
|
||||
hid_sensor_power_state(&incl_state->common_attributes,
|
||||
false);
|
||||
|
|
|
|||
|
|
@ -100,7 +100,8 @@ static int press_read_raw(struct iio_dev *indio_dev,
|
|||
*val = sensor_hub_input_attr_get_raw_value(
|
||||
press_state->common_attributes.hsdev,
|
||||
HID_USAGE_SENSOR_PRESSURE, address,
|
||||
report_id);
|
||||
report_id,
|
||||
SENSOR_HUB_SYNC);
|
||||
hid_sensor_power_state(&press_state->common_attributes,
|
||||
false);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue