Lines Matching refs:ret

333 	int ret;  in kmx61_set_mode()  local
336 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_STBY); in kmx61_set_mode()
337 if (ret < 0) { in kmx61_set_mode()
339 return ret; in kmx61_set_mode()
343 ret |= KMX61_ACC_STBY_BIT; in kmx61_set_mode()
346 ret &= ~KMX61_ACC_STBY_BIT; in kmx61_set_mode()
353 ret |= KMX61_MAG_STBY_BIT; in kmx61_set_mode()
356 ret &= ~KMX61_MAG_STBY_BIT; in kmx61_set_mode()
362 ret |= KMX61_ACT_STBY_BIT; in kmx61_set_mode()
364 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_STBY, ret); in kmx61_set_mode()
365 if (ret < 0) { in kmx61_set_mode()
367 return ret; in kmx61_set_mode()
380 int ret; in kmx61_get_mode() local
382 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_STBY); in kmx61_get_mode()
383 if (ret < 0) { in kmx61_get_mode()
385 return ret; in kmx61_get_mode()
390 if (ret & KMX61_ACC_STBY_BIT) in kmx61_get_mode()
397 if (ret & KMX61_MAG_STBY_BIT) in kmx61_get_mode()
408 int ret, odr_bits; in kmx61_set_wake_up_odr() local
414 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL2, in kmx61_set_wake_up_odr()
416 if (ret < 0) in kmx61_set_wake_up_odr()
418 return ret; in kmx61_set_wake_up_odr()
423 int ret; in kmx61_set_odr() local
427 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_set_odr()
428 if (ret < 0) in kmx61_set_odr()
429 return ret; in kmx61_set_odr()
436 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, in kmx61_set_odr()
438 if (ret < 0) in kmx61_set_odr()
439 return ret; in kmx61_set_odr()
447 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_ODCNTL, in kmx61_set_odr()
449 if (ret < 0) in kmx61_set_odr()
450 return ret; in kmx61_set_odr()
455 ret = kmx61_set_wake_up_odr(data, val, val2); in kmx61_set_odr()
456 if (ret) in kmx61_set_odr()
457 return ret; in kmx61_set_odr()
488 int ret; in kmx61_set_range() local
490 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_set_range()
491 if (ret < 0) { in kmx61_set_range()
493 return ret; in kmx61_set_range()
496 ret &= ~KMX61_REG_CTRL1_GSEL_MASK; in kmx61_set_range()
497 ret |= range & KMX61_REG_CTRL1_GSEL_MASK; in kmx61_set_range()
499 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_set_range()
500 if (ret < 0) { in kmx61_set_range()
502 return ret; in kmx61_set_range()
512 int ret, i; in kmx61_set_scale() local
517 ret = kmx61_get_mode(data, &mode, in kmx61_set_scale()
519 if (ret < 0) in kmx61_set_scale()
520 return ret; in kmx61_set_scale()
522 ret = kmx61_set_mode(data, KMX61_ALL_STBY, in kmx61_set_scale()
524 if (ret < 0) in kmx61_set_scale()
525 return ret; in kmx61_set_scale()
527 ret = kmx61_set_range(data, i); in kmx61_set_scale()
528 if (ret < 0) in kmx61_set_scale()
529 return ret; in kmx61_set_scale()
540 int ret, val, val2; in kmx61_chip_init() local
542 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_WHO_AM_I); in kmx61_chip_init()
543 if (ret < 0) { in kmx61_chip_init()
545 return ret; in kmx61_chip_init()
548 if (ret != KMX61_CHIP_ID) { in kmx61_chip_init()
551 ret, KMX61_CHIP_ID); in kmx61_chip_init()
556 ret = kmx61_set_range(data, KMX61_RANGE_4G); in kmx61_chip_init()
557 if (ret < 0) in kmx61_chip_init()
558 return ret; in kmx61_chip_init()
560 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_ODCNTL); in kmx61_chip_init()
561 if (ret < 0) { in kmx61_chip_init()
563 return ret; in kmx61_chip_init()
565 data->odr_bits = ret; in kmx61_chip_init()
571 ret = kmx61_get_odr(data, &val, &val2, KMX61_ACC); in kmx61_chip_init()
572 if (ret < 0) in kmx61_chip_init()
573 return ret; in kmx61_chip_init()
575 ret = kmx61_set_wake_up_odr(data, val, val2); in kmx61_chip_init()
576 if (ret < 0) in kmx61_chip_init()
577 return ret; in kmx61_chip_init()
580 ret = kmx61_set_mode(data, 0, KMX61_ACC | KMX61_MAG, true); in kmx61_chip_init()
581 if (ret < 0) in kmx61_chip_init()
582 return ret; in kmx61_chip_init()
594 int ret; in kmx61_setup_new_data_interrupt() local
596 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_setup_new_data_interrupt()
597 if (ret < 0) in kmx61_setup_new_data_interrupt()
598 return ret; in kmx61_setup_new_data_interrupt()
600 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_setup_new_data_interrupt()
601 if (ret < 0) in kmx61_setup_new_data_interrupt()
602 return ret; in kmx61_setup_new_data_interrupt()
604 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INC1); in kmx61_setup_new_data_interrupt()
605 if (ret < 0) { in kmx61_setup_new_data_interrupt()
607 return ret; in kmx61_setup_new_data_interrupt()
611 ret |= KMX61_REG_INC1_BIT_IEN; in kmx61_setup_new_data_interrupt()
613 ret |= KMX61_REG_INC1_BIT_DRDYA; in kmx61_setup_new_data_interrupt()
615 ret |= KMX61_REG_INC1_BIT_DRDYM; in kmx61_setup_new_data_interrupt()
617 ret &= ~KMX61_REG_INC1_BIT_IEN; in kmx61_setup_new_data_interrupt()
619 ret &= ~KMX61_REG_INC1_BIT_DRDYA; in kmx61_setup_new_data_interrupt()
621 ret &= ~KMX61_REG_INC1_BIT_DRDYM; in kmx61_setup_new_data_interrupt()
623 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_INC1, ret); in kmx61_setup_new_data_interrupt()
624 if (ret < 0) { in kmx61_setup_new_data_interrupt()
626 return ret; in kmx61_setup_new_data_interrupt()
629 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_setup_new_data_interrupt()
630 if (ret < 0) { in kmx61_setup_new_data_interrupt()
632 return ret; in kmx61_setup_new_data_interrupt()
636 ret |= KMX61_REG_CTRL1_BIT_DRDYE; in kmx61_setup_new_data_interrupt()
638 ret &= ~KMX61_REG_CTRL1_BIT_DRDYE; in kmx61_setup_new_data_interrupt()
640 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_setup_new_data_interrupt()
641 if (ret < 0) { in kmx61_setup_new_data_interrupt()
643 return ret; in kmx61_setup_new_data_interrupt()
651 int ret; in kmx61_chip_update_thresholds() local
653 ret = i2c_smbus_write_byte_data(data->client, in kmx61_chip_update_thresholds()
656 if (ret < 0) { in kmx61_chip_update_thresholds()
658 return ret; in kmx61_chip_update_thresholds()
661 ret = i2c_smbus_write_byte_data(data->client, in kmx61_chip_update_thresholds()
664 if (ret < 0) in kmx61_chip_update_thresholds()
667 return ret; in kmx61_chip_update_thresholds()
674 int ret; in kmx61_setup_any_motion_interrupt() local
676 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_setup_any_motion_interrupt()
677 if (ret < 0) in kmx61_setup_any_motion_interrupt()
678 return ret; in kmx61_setup_any_motion_interrupt()
680 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_setup_any_motion_interrupt()
681 if (ret < 0) in kmx61_setup_any_motion_interrupt()
682 return ret; in kmx61_setup_any_motion_interrupt()
684 ret = kmx61_chip_update_thresholds(data); in kmx61_setup_any_motion_interrupt()
685 if (ret < 0) in kmx61_setup_any_motion_interrupt()
686 return ret; in kmx61_setup_any_motion_interrupt()
688 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INC1); in kmx61_setup_any_motion_interrupt()
689 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
691 return ret; in kmx61_setup_any_motion_interrupt()
694 ret |= (KMX61_REG_INC1_BIT_IEN | KMX61_REG_INC1_BIT_WUFS); in kmx61_setup_any_motion_interrupt()
696 ret &= ~(KMX61_REG_INC1_BIT_IEN | KMX61_REG_INC1_BIT_WUFS); in kmx61_setup_any_motion_interrupt()
698 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_INC1, ret); in kmx61_setup_any_motion_interrupt()
699 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
701 return ret; in kmx61_setup_any_motion_interrupt()
704 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_setup_any_motion_interrupt()
705 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
707 return ret; in kmx61_setup_any_motion_interrupt()
711 ret |= KMX61_REG_CTRL1_BIT_WUFE | KMX61_REG_CTRL1_BIT_BTSE; in kmx61_setup_any_motion_interrupt()
713 ret &= ~(KMX61_REG_CTRL1_BIT_WUFE | KMX61_REG_CTRL1_BIT_BTSE); in kmx61_setup_any_motion_interrupt()
715 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_setup_any_motion_interrupt()
716 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
718 return ret; in kmx61_setup_any_motion_interrupt()
738 int ret; in kmx61_set_power_state() local
742 ret = kmx61_set_mode(data, 0, KMX61_ACC, true); in kmx61_set_power_state()
743 if (ret < 0) in kmx61_set_power_state()
744 return ret; in kmx61_set_power_state()
750 ret = kmx61_set_mode(data, 0, KMX61_MAG, true); in kmx61_set_power_state()
751 if (ret < 0) in kmx61_set_power_state()
752 return ret; in kmx61_set_power_state()
758 ret = pm_runtime_get_sync(&data->client->dev); in kmx61_set_power_state()
761 ret = pm_runtime_put_autosuspend(&data->client->dev); in kmx61_set_power_state()
763 if (ret < 0) { in kmx61_set_power_state()
766 on, ret); in kmx61_set_power_state()
770 return ret; in kmx61_set_power_state()
778 int ret; in kmx61_read_measurement() local
781 ret = i2c_smbus_read_word_data(data->client, reg); in kmx61_read_measurement()
782 if (ret < 0) in kmx61_read_measurement()
785 return ret; in kmx61_read_measurement()
792 int ret; in kmx61_read_raw() local
810 ret = kmx61_set_power_state(data, true, chan->address); in kmx61_read_raw()
811 if (ret) { in kmx61_read_raw()
813 return ret; in kmx61_read_raw()
816 ret = kmx61_read_measurement(data, base_reg, chan->scan_index); in kmx61_read_raw()
817 if (ret < 0) { in kmx61_read_raw()
820 return ret; in kmx61_read_raw()
822 *val = sign_extend32(ret >> chan->scan_type.shift, in kmx61_read_raw()
824 ret = kmx61_set_power_state(data, false, chan->address); in kmx61_read_raw()
827 if (ret) in kmx61_read_raw()
828 return ret; in kmx61_read_raw()
849 ret = kmx61_get_odr(data, val, val2, chan->address); in kmx61_read_raw()
851 if (ret) in kmx61_read_raw()
862 int ret; in kmx61_write_raw() local
871 ret = kmx61_set_odr(data, val, val2, chan->address); in kmx61_write_raw()
873 return ret; in kmx61_write_raw()
880 ret = kmx61_set_scale(data, val2); in kmx61_write_raw()
882 return ret; in kmx61_write_raw()
954 int ret = 0; in kmx61_write_event_config() local
966 ret = kmx61_set_power_state(data, state, KMX61_ACC); in kmx61_write_event_config()
967 if (ret < 0) in kmx61_write_event_config()
970 ret = kmx61_setup_any_motion_interrupt(data, state); in kmx61_write_event_config()
971 if (ret < 0) { in kmx61_write_event_config()
981 return ret; in kmx61_write_event_config()
1030 int ret = 0; in kmx61_data_rdy_trigger_set_state() local
1048 ret = kmx61_set_power_state(data, state, device); in kmx61_data_rdy_trigger_set_state()
1049 if (ret < 0) in kmx61_data_rdy_trigger_set_state()
1053 ret = kmx61_setup_new_data_interrupt(data, state, device); in kmx61_data_rdy_trigger_set_state()
1055 ret = kmx61_setup_any_motion_interrupt(data, state); in kmx61_data_rdy_trigger_set_state()
1056 if (ret < 0) { in kmx61_data_rdy_trigger_set_state()
1070 return ret; in kmx61_data_rdy_trigger_set_state()
1077 int ret; in kmx61_trig_try_reenable() local
1079 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); in kmx61_trig_try_reenable()
1080 if (ret < 0) { in kmx61_trig_try_reenable()
1082 return ret; in kmx61_trig_try_reenable()
1098 int ret; in kmx61_event_handler() local
1100 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INS1); in kmx61_event_handler()
1101 if (ret < 0) { in kmx61_event_handler()
1106 if (ret & KMX61_REG_INS1_BIT_WUFS) { in kmx61_event_handler()
1107 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INS2); in kmx61_event_handler()
1108 if (ret < 0) { in kmx61_event_handler()
1113 if (ret & KMX61_REG_INS2_BIT_XN) in kmx61_event_handler()
1122 if (ret & KMX61_REG_INS2_BIT_XP) in kmx61_event_handler()
1131 if (ret & KMX61_REG_INS2_BIT_YN) in kmx61_event_handler()
1140 if (ret & KMX61_REG_INS2_BIT_YP) in kmx61_event_handler()
1149 if (ret & KMX61_REG_INS2_BIT_ZN) in kmx61_event_handler()
1158 if (ret & KMX61_REG_INS2_BIT_ZP) in kmx61_event_handler()
1169 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_event_handler()
1170 if (ret < 0) in kmx61_event_handler()
1173 ret |= KMX61_REG_CTRL1_BIT_RES; in kmx61_event_handler()
1174 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_event_handler()
1175 if (ret < 0) in kmx61_event_handler()
1178 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); in kmx61_event_handler()
1179 if (ret < 0) in kmx61_event_handler()
1207 int bit, ret, i = 0; in kmx61_trigger_handler() local
1219 ret = kmx61_read_measurement(data, base, bit); in kmx61_trigger_handler()
1220 if (ret < 0) { in kmx61_trigger_handler()
1224 buffer[i++] = ret; in kmx61_trigger_handler()
1274 int ret; in kmx61_trigger_setup() local
1288 ret = iio_trigger_register(trig); in kmx61_trigger_setup()
1289 if (ret) in kmx61_trigger_setup()
1290 return ERR_PTR(ret); in kmx61_trigger_setup()
1298 int ret; in kmx61_probe() local
1334 ret = kmx61_chip_init(data); in kmx61_probe()
1335 if (ret < 0) in kmx61_probe()
1336 return ret; in kmx61_probe()
1339 ret = devm_request_threaded_irq(&client->dev, client->irq, in kmx61_probe()
1345 if (ret) in kmx61_probe()
1352 ret = PTR_ERR(data->acc_dready_trig); in kmx61_probe()
1360 ret = PTR_ERR(data->mag_dready_trig); in kmx61_probe()
1368 ret = PTR_ERR(data->motion_trig); in kmx61_probe()
1372 ret = iio_triggered_buffer_setup(data->acc_indio_dev, in kmx61_probe()
1376 if (ret < 0) { in kmx61_probe()
1382 ret = iio_triggered_buffer_setup(data->mag_indio_dev, in kmx61_probe()
1386 if (ret < 0) { in kmx61_probe()
1393 ret = iio_device_register(data->acc_indio_dev); in kmx61_probe()
1394 if (ret < 0) { in kmx61_probe()
1399 ret = iio_device_register(data->mag_indio_dev); in kmx61_probe()
1400 if (ret < 0) { in kmx61_probe()
1405 ret = pm_runtime_set_active(&client->dev); in kmx61_probe()
1406 if (ret < 0) in kmx61_probe()
1433 return ret; in kmx61_probe()
1465 int ret; in kmx61_suspend() local
1469 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, in kmx61_suspend()
1473 return ret; in kmx61_suspend()
1494 int ret; in kmx61_runtime_suspend() local
1497 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_runtime_suspend()
1500 return ret; in kmx61_runtime_suspend()