Lines Matching refs:st

84 static int _hid_sensor_power_state(struct hid_sensor_common *st, bool state)  in _hid_sensor_power_state()  argument
91 if (sensor_hub_device_open(st->hsdev)) in _hid_sensor_power_state()
94 atomic_inc(&st->data_ready); in _hid_sensor_power_state()
96 state_val = hid_sensor_get_usage_index(st->hsdev, in _hid_sensor_power_state()
97 st->power_state.report_id, in _hid_sensor_power_state()
98 st->power_state.index, in _hid_sensor_power_state()
100 report_val = hid_sensor_get_usage_index(st->hsdev, in _hid_sensor_power_state()
101 st->report_state.report_id, in _hid_sensor_power_state()
102 st->report_state.index, in _hid_sensor_power_state()
105 poll_value = hid_sensor_read_poll_value(st); in _hid_sensor_power_state()
109 val = atomic_dec_if_positive(&st->data_ready); in _hid_sensor_power_state()
113 sensor_hub_device_close(st->hsdev); in _hid_sensor_power_state()
114 state_val = hid_sensor_get_usage_index(st->hsdev, in _hid_sensor_power_state()
115 st->power_state.report_id, in _hid_sensor_power_state()
116 st->power_state.index, in _hid_sensor_power_state()
118 report_val = hid_sensor_get_usage_index(st->hsdev, in _hid_sensor_power_state()
119 st->report_state.report_id, in _hid_sensor_power_state()
120 st->report_state.index, in _hid_sensor_power_state()
125 state_val += st->power_state.logical_minimum; in _hid_sensor_power_state()
126 sensor_hub_set_feature(st->hsdev, st->power_state.report_id, in _hid_sensor_power_state()
127 st->power_state.index, sizeof(state_val), in _hid_sensor_power_state()
132 report_val += st->report_state.logical_minimum; in _hid_sensor_power_state()
133 sensor_hub_set_feature(st->hsdev, st->report_state.report_id, in _hid_sensor_power_state()
134 st->report_state.index, in _hid_sensor_power_state()
140 st->pdev->name, state_val, report_val); in _hid_sensor_power_state()
142 sensor_hub_get_feature(st->hsdev, st->power_state.report_id, in _hid_sensor_power_state()
143 st->power_state.index, in _hid_sensor_power_state()
152 int hid_sensor_power_state(struct hid_sensor_common *st, bool state) in hid_sensor_power_state() argument
158 if (atomic_add_unless(&st->runtime_pm_enable, 1, 1)) in hid_sensor_power_state()
159 pm_runtime_enable(&st->pdev->dev); in hid_sensor_power_state()
162 atomic_inc(&st->user_requested_state); in hid_sensor_power_state()
163 ret = pm_runtime_resume_and_get(&st->pdev->dev); in hid_sensor_power_state()
165 atomic_dec(&st->user_requested_state); in hid_sensor_power_state()
166 pm_runtime_mark_last_busy(&st->pdev->dev); in hid_sensor_power_state()
167 pm_runtime_use_autosuspend(&st->pdev->dev); in hid_sensor_power_state()
168 ret = pm_runtime_put_autosuspend(&st->pdev->dev); in hid_sensor_power_state()
175 atomic_set(&st->user_requested_state, state); in hid_sensor_power_state()
176 return _hid_sensor_power_state(st, state); in hid_sensor_power_state()