Lines Matching refs:data
169 struct bmc150_accel_data *data; member
255 static int bmc150_accel_set_mode(struct bmc150_accel_data *data, in bmc150_accel_set_mode() argument
282 dev_dbg(data->dev, "Set Mode bits %x\n", lpw_bits); in bmc150_accel_set_mode()
284 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_PMU_LPW, lpw_bits); in bmc150_accel_set_mode()
286 dev_err(data->dev, "Error writing reg_pmu_lpw\n"); in bmc150_accel_set_mode()
293 static int bmc150_accel_set_bw(struct bmc150_accel_data *data, int val, in bmc150_accel_set_bw() argument
302 ret = regmap_write(data->regmap, in bmc150_accel_set_bw()
308 data->bw_bits = in bmc150_accel_set_bw()
317 static int bmc150_accel_update_slope(struct bmc150_accel_data *data) in bmc150_accel_update_slope() argument
321 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_6, in bmc150_accel_update_slope()
322 data->slope_thres); in bmc150_accel_update_slope()
324 dev_err(data->dev, "Error writing reg_int_6\n"); in bmc150_accel_update_slope()
328 ret = regmap_update_bits(data->regmap, BMC150_ACCEL_REG_INT_5, in bmc150_accel_update_slope()
329 BMC150_ACCEL_SLOPE_DUR_MASK, data->slope_dur); in bmc150_accel_update_slope()
331 dev_err(data->dev, "Error updating reg_int_5\n"); in bmc150_accel_update_slope()
335 dev_dbg(data->dev, "%s: %x %x\n", __func__, data->slope_thres, in bmc150_accel_update_slope()
336 data->slope_dur); in bmc150_accel_update_slope()
345 return bmc150_accel_update_slope(t->data); in bmc150_accel_any_motion_setup()
350 static int bmc150_accel_get_bw(struct bmc150_accel_data *data, int *val, in bmc150_accel_get_bw() argument
356 if (bmc150_accel_samp_freq_table[i].bw_bits == data->bw_bits) { in bmc150_accel_get_bw()
367 static int bmc150_accel_get_startup_times(struct bmc150_accel_data *data) in bmc150_accel_get_startup_times() argument
372 if (bmc150_accel_sample_upd_time[i].bw_bits == data->bw_bits) in bmc150_accel_get_startup_times()
379 static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) in bmc150_accel_set_power_state() argument
384 ret = pm_runtime_get_sync(data->dev); in bmc150_accel_set_power_state()
386 pm_runtime_mark_last_busy(data->dev); in bmc150_accel_set_power_state()
387 ret = pm_runtime_put_autosuspend(data->dev); in bmc150_accel_set_power_state()
391 dev_err(data->dev, in bmc150_accel_set_power_state()
394 pm_runtime_put_noidle(data->dev); in bmc150_accel_set_power_state()
402 static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) in bmc150_accel_set_power_state() argument
437 struct bmc150_accel_data *data) in bmc150_accel_interrupts_setup() argument
442 data->interrupts[i].info = &bmc150_accel_interrupts[i]; in bmc150_accel_interrupts_setup()
445 static int bmc150_accel_set_interrupt(struct bmc150_accel_data *data, int i, in bmc150_accel_set_interrupt() argument
448 struct bmc150_accel_interrupt *intr = &data->interrupts[i]; in bmc150_accel_set_interrupt()
469 ret = bmc150_accel_set_power_state(data, state); in bmc150_accel_set_interrupt()
474 ret = regmap_update_bits(data->regmap, info->map_reg, info->map_bitmask, in bmc150_accel_set_interrupt()
477 dev_err(data->dev, "Error updating reg_int_map\n"); in bmc150_accel_set_interrupt()
482 ret = regmap_update_bits(data->regmap, info->en_reg, info->en_bitmask, in bmc150_accel_set_interrupt()
485 dev_err(data->dev, "Error updating reg_int_en\n"); in bmc150_accel_set_interrupt()
490 atomic_inc(&data->active_intr); in bmc150_accel_set_interrupt()
492 atomic_dec(&data->active_intr); in bmc150_accel_set_interrupt()
497 bmc150_accel_set_power_state(data, false); in bmc150_accel_set_interrupt()
501 static int bmc150_accel_set_scale(struct bmc150_accel_data *data, int val) in bmc150_accel_set_scale() argument
505 for (i = 0; i < ARRAY_SIZE(data->chip_info->scale_table); ++i) { in bmc150_accel_set_scale()
506 if (data->chip_info->scale_table[i].scale == val) { in bmc150_accel_set_scale()
507 ret = regmap_write(data->regmap, in bmc150_accel_set_scale()
509 data->chip_info->scale_table[i].reg_range); in bmc150_accel_set_scale()
511 dev_err(data->dev, in bmc150_accel_set_scale()
516 data->range = data->chip_info->scale_table[i].reg_range; in bmc150_accel_set_scale()
524 static int bmc150_accel_get_temp(struct bmc150_accel_data *data, int *val) in bmc150_accel_get_temp() argument
529 mutex_lock(&data->mutex); in bmc150_accel_get_temp()
531 ret = regmap_read(data->regmap, BMC150_ACCEL_REG_TEMP, &value); in bmc150_accel_get_temp()
533 dev_err(data->dev, "Error reading reg_temp\n"); in bmc150_accel_get_temp()
534 mutex_unlock(&data->mutex); in bmc150_accel_get_temp()
539 mutex_unlock(&data->mutex); in bmc150_accel_get_temp()
544 static int bmc150_accel_get_axis(struct bmc150_accel_data *data, in bmc150_accel_get_axis() argument
552 mutex_lock(&data->mutex); in bmc150_accel_get_axis()
553 ret = bmc150_accel_set_power_state(data, true); in bmc150_accel_get_axis()
555 mutex_unlock(&data->mutex); in bmc150_accel_get_axis()
559 ret = regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis), in bmc150_accel_get_axis()
562 dev_err(data->dev, "Error reading axis %d\n", axis); in bmc150_accel_get_axis()
563 bmc150_accel_set_power_state(data, false); in bmc150_accel_get_axis()
564 mutex_unlock(&data->mutex); in bmc150_accel_get_axis()
569 ret = bmc150_accel_set_power_state(data, false); in bmc150_accel_get_axis()
570 mutex_unlock(&data->mutex); in bmc150_accel_get_axis()
581 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_read_raw() local
588 return bmc150_accel_get_temp(data, val); in bmc150_accel_read_raw()
593 return bmc150_accel_get_axis(data, chan, val); in bmc150_accel_read_raw()
614 int st_size = ARRAY_SIZE(data->chip_info->scale_table); in bmc150_accel_read_raw()
617 si = &data->chip_info->scale_table[i]; in bmc150_accel_read_raw()
618 if (si->reg_range == data->range) { in bmc150_accel_read_raw()
629 mutex_lock(&data->mutex); in bmc150_accel_read_raw()
630 ret = bmc150_accel_get_bw(data, val, val2); in bmc150_accel_read_raw()
631 mutex_unlock(&data->mutex); in bmc150_accel_read_raw()
642 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_write_raw() local
647 mutex_lock(&data->mutex); in bmc150_accel_write_raw()
648 ret = bmc150_accel_set_bw(data, val, val2); in bmc150_accel_write_raw()
649 mutex_unlock(&data->mutex); in bmc150_accel_write_raw()
655 mutex_lock(&data->mutex); in bmc150_accel_write_raw()
656 ret = bmc150_accel_set_scale(data, val2); in bmc150_accel_write_raw()
657 mutex_unlock(&data->mutex); in bmc150_accel_write_raw()
673 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_read_event() local
678 *val = data->slope_thres; in bmc150_accel_read_event()
681 *val = data->slope_dur; in bmc150_accel_read_event()
697 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_write_event() local
699 if (data->ev_enable_state) in bmc150_accel_write_event()
704 data->slope_thres = val & BMC150_ACCEL_SLOPE_THRES_MASK; in bmc150_accel_write_event()
707 data->slope_dur = val & BMC150_ACCEL_SLOPE_DUR_MASK; in bmc150_accel_write_event()
721 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_read_event_config() local
723 return data->ev_enable_state; in bmc150_accel_read_event_config()
732 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_write_event_config() local
735 if (state == data->ev_enable_state) in bmc150_accel_write_event_config()
738 mutex_lock(&data->mutex); in bmc150_accel_write_event_config()
740 ret = bmc150_accel_set_interrupt(data, BMC150_ACCEL_INT_ANY_MOTION, in bmc150_accel_write_event_config()
743 mutex_unlock(&data->mutex); in bmc150_accel_write_event_config()
747 data->ev_enable_state = state; in bmc150_accel_write_event_config()
748 mutex_unlock(&data->mutex); in bmc150_accel_write_event_config()
756 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_validate_trigger() local
760 if (data->triggers[i].indio_trig == trig) in bmc150_accel_validate_trigger()
772 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_get_fifo_watermark() local
775 mutex_lock(&data->mutex); in bmc150_accel_get_fifo_watermark()
776 wm = data->watermark; in bmc150_accel_get_fifo_watermark()
777 mutex_unlock(&data->mutex); in bmc150_accel_get_fifo_watermark()
787 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_get_fifo_state() local
790 mutex_lock(&data->mutex); in bmc150_accel_get_fifo_state()
791 state = data->fifo_mode; in bmc150_accel_get_fifo_state()
792 mutex_unlock(&data->mutex); in bmc150_accel_get_fifo_state()
815 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_set_watermark() local
820 mutex_lock(&data->mutex); in bmc150_accel_set_watermark()
821 data->watermark = val; in bmc150_accel_set_watermark()
822 mutex_unlock(&data->mutex); in bmc150_accel_set_watermark()
831 static int bmc150_accel_fifo_transfer(struct bmc150_accel_data *data, in bmc150_accel_fifo_transfer() argument
838 size_t step = regmap_get_raw_read_max(data->regmap); in bmc150_accel_fifo_transfer()
850 ret = regmap_raw_read(data->regmap, BMC150_ACCEL_REG_FIFO_DATA, in bmc150_accel_fifo_transfer()
857 dev_err(data->dev, "Error transferring data from fifo in single steps of %zu\n", in bmc150_accel_fifo_transfer()
866 struct bmc150_accel_data *data = iio_priv(indio_dev); in __bmc150_accel_fifo_flush() local
874 ret = regmap_read(data->regmap, BMC150_ACCEL_REG_FIFO_STATUS, &val); in __bmc150_accel_fifo_flush()
876 dev_err(data->dev, "Error reading reg_fifo_status\n"); in __bmc150_accel_fifo_flush()
894 data->old_timestamp = data->timestamp; in __bmc150_accel_fifo_flush()
895 data->timestamp = iio_get_time_ns(); in __bmc150_accel_fifo_flush()
912 sample_period = (data->timestamp - data->old_timestamp); in __bmc150_accel_fifo_flush()
914 tstamp = data->timestamp - (count - 1) * sample_period; in __bmc150_accel_fifo_flush()
919 ret = bmc150_accel_fifo_transfer(data, (u8 *)buffer, count); in __bmc150_accel_fifo_flush()
948 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_fifo_flush() local
951 mutex_lock(&data->mutex); in bmc150_accel_fifo_flush()
953 mutex_unlock(&data->mutex); in bmc150_accel_fifo_flush()
1112 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_trigger_handler() local
1116 mutex_lock(&data->mutex); in bmc150_accel_trigger_handler()
1119 ret = regmap_bulk_read(data->regmap, in bmc150_accel_trigger_handler()
1123 mutex_unlock(&data->mutex); in bmc150_accel_trigger_handler()
1126 data->buffer[i++] = raw_val; in bmc150_accel_trigger_handler()
1128 mutex_unlock(&data->mutex); in bmc150_accel_trigger_handler()
1130 iio_push_to_buffers_with_timestamp(indio_dev, data->buffer, in bmc150_accel_trigger_handler()
1141 struct bmc150_accel_data *data = t->data; in bmc150_accel_trig_try_reen() local
1145 if (t == &t->data->triggers[BMC150_ACCEL_TRIGGER_DATA_READY]) in bmc150_accel_trig_try_reen()
1148 mutex_lock(&data->mutex); in bmc150_accel_trig_try_reen()
1150 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_RST_LATCH, in bmc150_accel_trig_try_reen()
1153 mutex_unlock(&data->mutex); in bmc150_accel_trig_try_reen()
1155 dev_err(data->dev, in bmc150_accel_trig_try_reen()
1167 struct bmc150_accel_data *data = t->data; in bmc150_accel_trigger_set_state() local
1170 mutex_lock(&data->mutex); in bmc150_accel_trigger_set_state()
1173 mutex_unlock(&data->mutex); in bmc150_accel_trigger_set_state()
1180 mutex_unlock(&data->mutex); in bmc150_accel_trigger_set_state()
1185 ret = bmc150_accel_set_interrupt(data, t->intr, state); in bmc150_accel_trigger_set_state()
1187 mutex_unlock(&data->mutex); in bmc150_accel_trigger_set_state()
1193 mutex_unlock(&data->mutex); in bmc150_accel_trigger_set_state()
1206 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_handle_roc_event() local
1211 ret = regmap_read(data->regmap, BMC150_ACCEL_REG_INT_STATUS_2, &val); in bmc150_accel_handle_roc_event()
1213 dev_err(data->dev, "Error reading reg_int_status_2\n"); in bmc150_accel_handle_roc_event()
1229 data->timestamp); in bmc150_accel_handle_roc_event()
1238 data->timestamp); in bmc150_accel_handle_roc_event()
1247 data->timestamp); in bmc150_accel_handle_roc_event()
1255 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_irq_thread_handler() local
1259 mutex_lock(&data->mutex); in bmc150_accel_irq_thread_handler()
1261 if (data->fifo_mode) { in bmc150_accel_irq_thread_handler()
1268 if (data->ev_enable_state) { in bmc150_accel_irq_thread_handler()
1275 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_RST_LATCH, in bmc150_accel_irq_thread_handler()
1279 dev_err(data->dev, "Error writing reg_int_rst_latch\n"); in bmc150_accel_irq_thread_handler()
1286 mutex_unlock(&data->mutex); in bmc150_accel_irq_thread_handler()
1294 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_irq_handler() local
1298 data->old_timestamp = data->timestamp; in bmc150_accel_irq_handler()
1299 data->timestamp = iio_get_time_ns(); in bmc150_accel_irq_handler()
1302 if (data->triggers[i].enabled) { in bmc150_accel_irq_handler()
1303 iio_trigger_poll(data->triggers[i].indio_trig); in bmc150_accel_irq_handler()
1309 if (data->ev_enable_state || data->fifo_mode) in bmc150_accel_irq_handler()
1334 static void bmc150_accel_unregister_triggers(struct bmc150_accel_data *data, in bmc150_accel_unregister_triggers() argument
1340 if (data->triggers[i].indio_trig) { in bmc150_accel_unregister_triggers()
1341 iio_trigger_unregister(data->triggers[i].indio_trig); in bmc150_accel_unregister_triggers()
1342 data->triggers[i].indio_trig = NULL; in bmc150_accel_unregister_triggers()
1348 struct bmc150_accel_data *data) in bmc150_accel_triggers_setup() argument
1353 struct bmc150_accel_trigger *t = &data->triggers[i]; in bmc150_accel_triggers_setup()
1355 t->indio_trig = devm_iio_trigger_alloc(data->dev, in bmc150_accel_triggers_setup()
1364 t->indio_trig->dev.parent = data->dev; in bmc150_accel_triggers_setup()
1367 t->data = data; in bmc150_accel_triggers_setup()
1377 bmc150_accel_unregister_triggers(data, i - 1); in bmc150_accel_triggers_setup()
1386 static int bmc150_accel_fifo_set_mode(struct bmc150_accel_data *data) in bmc150_accel_fifo_set_mode() argument
1391 ret = regmap_write(data->regmap, reg, data->fifo_mode); in bmc150_accel_fifo_set_mode()
1393 dev_err(data->dev, "Error writing reg_fifo_config1\n"); in bmc150_accel_fifo_set_mode()
1397 if (!data->fifo_mode) in bmc150_accel_fifo_set_mode()
1400 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_FIFO_CONFIG0, in bmc150_accel_fifo_set_mode()
1401 data->watermark); in bmc150_accel_fifo_set_mode()
1403 dev_err(data->dev, "Error writing reg_fifo_config0\n"); in bmc150_accel_fifo_set_mode()
1410 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_buffer_preenable() local
1412 return bmc150_accel_set_power_state(data, true); in bmc150_accel_buffer_preenable()
1417 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_buffer_postenable() local
1423 mutex_lock(&data->mutex); in bmc150_accel_buffer_postenable()
1425 if (!data->watermark) in bmc150_accel_buffer_postenable()
1428 ret = bmc150_accel_set_interrupt(data, BMC150_ACCEL_INT_WATERMARK, in bmc150_accel_buffer_postenable()
1433 data->fifo_mode = BMC150_ACCEL_FIFO_MODE_FIFO; in bmc150_accel_buffer_postenable()
1435 ret = bmc150_accel_fifo_set_mode(data); in bmc150_accel_buffer_postenable()
1437 data->fifo_mode = 0; in bmc150_accel_buffer_postenable()
1438 bmc150_accel_set_interrupt(data, BMC150_ACCEL_INT_WATERMARK, in bmc150_accel_buffer_postenable()
1443 mutex_unlock(&data->mutex); in bmc150_accel_buffer_postenable()
1450 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_buffer_predisable() local
1455 mutex_lock(&data->mutex); in bmc150_accel_buffer_predisable()
1457 if (!data->fifo_mode) in bmc150_accel_buffer_predisable()
1460 bmc150_accel_set_interrupt(data, BMC150_ACCEL_INT_WATERMARK, false); in bmc150_accel_buffer_predisable()
1462 data->fifo_mode = 0; in bmc150_accel_buffer_predisable()
1463 bmc150_accel_fifo_set_mode(data); in bmc150_accel_buffer_predisable()
1466 mutex_unlock(&data->mutex); in bmc150_accel_buffer_predisable()
1473 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_buffer_postdisable() local
1475 return bmc150_accel_set_power_state(data, false); in bmc150_accel_buffer_postdisable()
1485 static int bmc150_accel_chip_init(struct bmc150_accel_data *data) in bmc150_accel_chip_init() argument
1490 ret = regmap_read(data->regmap, BMC150_ACCEL_REG_CHIP_ID, &val); in bmc150_accel_chip_init()
1492 dev_err(data->dev, in bmc150_accel_chip_init()
1497 dev_dbg(data->dev, "Chip Id %x\n", val); in bmc150_accel_chip_init()
1500 data->chip_info = &bmc150_accel_chip_info_tbl[i]; in bmc150_accel_chip_init()
1505 if (!data->chip_info) { in bmc150_accel_chip_init()
1506 dev_err(data->dev, "Invalid chip %x\n", val); in bmc150_accel_chip_init()
1510 ret = bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_NORMAL, 0); in bmc150_accel_chip_init()
1515 ret = bmc150_accel_set_bw(data, BMC150_ACCEL_DEF_BW, 0); in bmc150_accel_chip_init()
1520 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_PMU_RANGE, in bmc150_accel_chip_init()
1523 dev_err(data->dev, in bmc150_accel_chip_init()
1528 data->range = BMC150_ACCEL_DEF_RANGE_4G; in bmc150_accel_chip_init()
1531 data->slope_thres = BMC150_ACCEL_DEF_SLOPE_THRESHOLD; in bmc150_accel_chip_init()
1532 data->slope_dur = BMC150_ACCEL_DEF_SLOPE_DURATION; in bmc150_accel_chip_init()
1533 ret = bmc150_accel_update_slope(data); in bmc150_accel_chip_init()
1538 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_RST_LATCH, in bmc150_accel_chip_init()
1542 dev_err(data->dev, in bmc150_accel_chip_init()
1553 struct bmc150_accel_data *data; in bmc150_accel_core_probe() local
1557 indio_dev = devm_iio_device_alloc(dev, sizeof(*data)); in bmc150_accel_core_probe()
1561 data = iio_priv(indio_dev); in bmc150_accel_core_probe()
1563 data->dev = dev; in bmc150_accel_core_probe()
1564 data->irq = irq; in bmc150_accel_core_probe()
1566 data->regmap = regmap; in bmc150_accel_core_probe()
1568 ret = bmc150_accel_chip_init(data); in bmc150_accel_core_probe()
1572 mutex_init(&data->mutex); in bmc150_accel_core_probe()
1575 indio_dev->channels = data->chip_info->channels; in bmc150_accel_core_probe()
1576 indio_dev->num_channels = data->chip_info->num_channels; in bmc150_accel_core_probe()
1577 indio_dev->name = name ? name : data->chip_info->name; in bmc150_accel_core_probe()
1586 dev_err(data->dev, "Failed: iio triggered buffer setup\n"); in bmc150_accel_core_probe()
1590 if (data->irq > 0) { in bmc150_accel_core_probe()
1592 data->dev, data->irq, in bmc150_accel_core_probe()
1607 ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_RST_LATCH, in bmc150_accel_core_probe()
1610 dev_err(data->dev, "Error writing reg_int_rst_latch\n"); in bmc150_accel_core_probe()
1614 bmc150_accel_interrupts_setup(indio_dev, data); in bmc150_accel_core_probe()
1616 ret = bmc150_accel_triggers_setup(indio_dev, data); in bmc150_accel_core_probe()
1646 bmc150_accel_unregister_triggers(data, BMC150_ACCEL_TRIGGERS - 1); in bmc150_accel_core_probe()
1657 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_core_remove() local
1659 pm_runtime_disable(data->dev); in bmc150_accel_core_remove()
1660 pm_runtime_set_suspended(data->dev); in bmc150_accel_core_remove()
1661 pm_runtime_put_noidle(data->dev); in bmc150_accel_core_remove()
1665 bmc150_accel_unregister_triggers(data, BMC150_ACCEL_TRIGGERS - 1); in bmc150_accel_core_remove()
1669 mutex_lock(&data->mutex); in bmc150_accel_core_remove()
1670 bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_DEEP_SUSPEND, 0); in bmc150_accel_core_remove()
1671 mutex_unlock(&data->mutex); in bmc150_accel_core_remove()
1681 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_suspend() local
1683 mutex_lock(&data->mutex); in bmc150_accel_suspend()
1684 bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_SUSPEND, 0); in bmc150_accel_suspend()
1685 mutex_unlock(&data->mutex); in bmc150_accel_suspend()
1693 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_resume() local
1695 mutex_lock(&data->mutex); in bmc150_accel_resume()
1696 if (atomic_read(&data->active_intr)) in bmc150_accel_resume()
1697 bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_NORMAL, 0); in bmc150_accel_resume()
1698 bmc150_accel_fifo_set_mode(data); in bmc150_accel_resume()
1699 mutex_unlock(&data->mutex); in bmc150_accel_resume()
1709 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_runtime_suspend() local
1712 dev_dbg(data->dev, __func__); in bmc150_accel_runtime_suspend()
1713 ret = bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_SUSPEND, 0); in bmc150_accel_runtime_suspend()
1723 struct bmc150_accel_data *data = iio_priv(indio_dev); in bmc150_accel_runtime_resume() local
1727 dev_dbg(data->dev, __func__); in bmc150_accel_runtime_resume()
1729 ret = bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_NORMAL, 0); in bmc150_accel_runtime_resume()
1732 ret = bmc150_accel_fifo_set_mode(data); in bmc150_accel_runtime_resume()
1736 sleep_val = bmc150_accel_get_startup_times(data); in bmc150_accel_runtime_resume()