Lines Matching refs:ret

334 	int ret;  in kmx61_set_mode()  local
337 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_STBY); in kmx61_set_mode()
338 if (ret < 0) { in kmx61_set_mode()
340 return ret; in kmx61_set_mode()
344 ret |= KMX61_ACC_STBY_BIT; in kmx61_set_mode()
347 ret &= ~KMX61_ACC_STBY_BIT; in kmx61_set_mode()
354 ret |= KMX61_MAG_STBY_BIT; in kmx61_set_mode()
357 ret &= ~KMX61_MAG_STBY_BIT; in kmx61_set_mode()
363 ret |= KMX61_ACT_STBY_BIT; in kmx61_set_mode()
365 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_STBY, ret); in kmx61_set_mode()
366 if (ret < 0) { in kmx61_set_mode()
368 return ret; in kmx61_set_mode()
381 int ret; in kmx61_get_mode() local
383 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_STBY); in kmx61_get_mode()
384 if (ret < 0) { in kmx61_get_mode()
386 return ret; in kmx61_get_mode()
391 if (ret & KMX61_ACC_STBY_BIT) in kmx61_get_mode()
398 if (ret & KMX61_MAG_STBY_BIT) in kmx61_get_mode()
409 int ret, odr_bits; in kmx61_set_wake_up_odr() local
415 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL2, in kmx61_set_wake_up_odr()
417 if (ret < 0) in kmx61_set_wake_up_odr()
419 return ret; in kmx61_set_wake_up_odr()
424 int ret; in kmx61_set_odr() local
428 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_set_odr()
429 if (ret < 0) in kmx61_set_odr()
430 return ret; in kmx61_set_odr()
437 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, in kmx61_set_odr()
439 if (ret < 0) in kmx61_set_odr()
440 return ret; in kmx61_set_odr()
448 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_ODCNTL, in kmx61_set_odr()
450 if (ret < 0) in kmx61_set_odr()
451 return ret; in kmx61_set_odr()
456 ret = kmx61_set_wake_up_odr(data, val, val2); in kmx61_set_odr()
457 if (ret) in kmx61_set_odr()
458 return ret; in kmx61_set_odr()
489 int ret; in kmx61_set_range() local
491 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_set_range()
492 if (ret < 0) { in kmx61_set_range()
494 return ret; in kmx61_set_range()
497 ret &= ~KMX61_REG_CTRL1_GSEL_MASK; in kmx61_set_range()
498 ret |= range & KMX61_REG_CTRL1_GSEL_MASK; in kmx61_set_range()
500 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_set_range()
501 if (ret < 0) { in kmx61_set_range()
503 return ret; in kmx61_set_range()
513 int ret, i; in kmx61_set_scale() local
518 ret = kmx61_get_mode(data, &mode, in kmx61_set_scale()
520 if (ret < 0) in kmx61_set_scale()
521 return ret; in kmx61_set_scale()
523 ret = kmx61_set_mode(data, KMX61_ALL_STBY, in kmx61_set_scale()
525 if (ret < 0) in kmx61_set_scale()
526 return ret; in kmx61_set_scale()
528 ret = kmx61_set_range(data, i); in kmx61_set_scale()
529 if (ret < 0) in kmx61_set_scale()
530 return ret; in kmx61_set_scale()
541 int ret, val, val2; in kmx61_chip_init() local
543 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_WHO_AM_I); in kmx61_chip_init()
544 if (ret < 0) { in kmx61_chip_init()
546 return ret; in kmx61_chip_init()
549 if (ret != KMX61_CHIP_ID) { in kmx61_chip_init()
552 ret, KMX61_CHIP_ID); in kmx61_chip_init()
557 ret = kmx61_set_range(data, KMX61_RANGE_4G); in kmx61_chip_init()
558 if (ret < 0) in kmx61_chip_init()
559 return ret; in kmx61_chip_init()
561 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_ODCNTL); in kmx61_chip_init()
562 if (ret < 0) { in kmx61_chip_init()
564 return ret; in kmx61_chip_init()
566 data->odr_bits = ret; in kmx61_chip_init()
572 ret = kmx61_get_odr(data, &val, &val2, KMX61_ACC); in kmx61_chip_init()
573 if (ret < 0) in kmx61_chip_init()
574 return ret; in kmx61_chip_init()
576 ret = kmx61_set_wake_up_odr(data, val, val2); in kmx61_chip_init()
577 if (ret < 0) in kmx61_chip_init()
578 return ret; in kmx61_chip_init()
581 ret = kmx61_set_mode(data, 0, KMX61_ACC | KMX61_MAG, true); in kmx61_chip_init()
582 if (ret < 0) in kmx61_chip_init()
583 return ret; in kmx61_chip_init()
595 int ret; in kmx61_setup_new_data_interrupt() local
597 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_setup_new_data_interrupt()
598 if (ret < 0) in kmx61_setup_new_data_interrupt()
599 return ret; in kmx61_setup_new_data_interrupt()
601 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_setup_new_data_interrupt()
602 if (ret < 0) in kmx61_setup_new_data_interrupt()
603 return ret; in kmx61_setup_new_data_interrupt()
605 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INC1); in kmx61_setup_new_data_interrupt()
606 if (ret < 0) { in kmx61_setup_new_data_interrupt()
608 return ret; in kmx61_setup_new_data_interrupt()
612 ret |= KMX61_REG_INC1_BIT_IEN; in kmx61_setup_new_data_interrupt()
614 ret |= KMX61_REG_INC1_BIT_DRDYA; in kmx61_setup_new_data_interrupt()
616 ret |= KMX61_REG_INC1_BIT_DRDYM; in kmx61_setup_new_data_interrupt()
618 ret &= ~KMX61_REG_INC1_BIT_IEN; in kmx61_setup_new_data_interrupt()
620 ret &= ~KMX61_REG_INC1_BIT_DRDYA; in kmx61_setup_new_data_interrupt()
622 ret &= ~KMX61_REG_INC1_BIT_DRDYM; in kmx61_setup_new_data_interrupt()
624 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_INC1, ret); in kmx61_setup_new_data_interrupt()
625 if (ret < 0) { in kmx61_setup_new_data_interrupt()
627 return ret; in kmx61_setup_new_data_interrupt()
630 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_setup_new_data_interrupt()
631 if (ret < 0) { in kmx61_setup_new_data_interrupt()
633 return ret; in kmx61_setup_new_data_interrupt()
637 ret |= KMX61_REG_CTRL1_BIT_DRDYE; in kmx61_setup_new_data_interrupt()
639 ret &= ~KMX61_REG_CTRL1_BIT_DRDYE; in kmx61_setup_new_data_interrupt()
641 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_setup_new_data_interrupt()
642 if (ret < 0) { in kmx61_setup_new_data_interrupt()
644 return ret; in kmx61_setup_new_data_interrupt()
652 int ret; in kmx61_chip_update_thresholds() local
654 ret = i2c_smbus_write_byte_data(data->client, in kmx61_chip_update_thresholds()
657 if (ret < 0) { in kmx61_chip_update_thresholds()
659 return ret; in kmx61_chip_update_thresholds()
662 ret = i2c_smbus_write_byte_data(data->client, in kmx61_chip_update_thresholds()
665 if (ret < 0) in kmx61_chip_update_thresholds()
668 return ret; in kmx61_chip_update_thresholds()
675 int ret; in kmx61_setup_any_motion_interrupt() local
677 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_setup_any_motion_interrupt()
678 if (ret < 0) in kmx61_setup_any_motion_interrupt()
679 return ret; in kmx61_setup_any_motion_interrupt()
681 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_setup_any_motion_interrupt()
682 if (ret < 0) in kmx61_setup_any_motion_interrupt()
683 return ret; in kmx61_setup_any_motion_interrupt()
685 ret = kmx61_chip_update_thresholds(data); in kmx61_setup_any_motion_interrupt()
686 if (ret < 0) in kmx61_setup_any_motion_interrupt()
687 return ret; in kmx61_setup_any_motion_interrupt()
689 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INC1); in kmx61_setup_any_motion_interrupt()
690 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
692 return ret; in kmx61_setup_any_motion_interrupt()
695 ret |= (KMX61_REG_INC1_BIT_IEN | KMX61_REG_INC1_BIT_WUFS); in kmx61_setup_any_motion_interrupt()
697 ret &= ~(KMX61_REG_INC1_BIT_IEN | KMX61_REG_INC1_BIT_WUFS); in kmx61_setup_any_motion_interrupt()
699 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_INC1, ret); in kmx61_setup_any_motion_interrupt()
700 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
702 return ret; in kmx61_setup_any_motion_interrupt()
705 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_setup_any_motion_interrupt()
706 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
708 return ret; in kmx61_setup_any_motion_interrupt()
712 ret |= KMX61_REG_CTRL1_BIT_WUFE | KMX61_REG_CTRL1_BIT_BTSE; in kmx61_setup_any_motion_interrupt()
714 ret &= ~(KMX61_REG_CTRL1_BIT_WUFE | KMX61_REG_CTRL1_BIT_BTSE); in kmx61_setup_any_motion_interrupt()
716 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_setup_any_motion_interrupt()
717 if (ret < 0) { in kmx61_setup_any_motion_interrupt()
719 return ret; in kmx61_setup_any_motion_interrupt()
739 int ret; in kmx61_set_power_state() local
743 ret = kmx61_set_mode(data, 0, KMX61_ACC, true); in kmx61_set_power_state()
744 if (ret < 0) in kmx61_set_power_state()
745 return ret; in kmx61_set_power_state()
751 ret = kmx61_set_mode(data, 0, KMX61_MAG, true); in kmx61_set_power_state()
752 if (ret < 0) in kmx61_set_power_state()
753 return ret; in kmx61_set_power_state()
759 ret = pm_runtime_get_sync(&data->client->dev); in kmx61_set_power_state()
762 ret = pm_runtime_put_autosuspend(&data->client->dev); in kmx61_set_power_state()
764 if (ret < 0) { in kmx61_set_power_state()
767 on, ret); in kmx61_set_power_state()
771 return ret; in kmx61_set_power_state()
779 int ret; in kmx61_read_measurement() local
782 ret = i2c_smbus_read_word_data(data->client, reg); in kmx61_read_measurement()
783 if (ret < 0) in kmx61_read_measurement()
786 return ret; in kmx61_read_measurement()
793 int ret; in kmx61_read_raw() local
811 ret = kmx61_set_power_state(data, true, chan->address); in kmx61_read_raw()
812 if (ret) { in kmx61_read_raw()
814 return ret; in kmx61_read_raw()
817 ret = kmx61_read_measurement(data, base_reg, chan->scan_index); in kmx61_read_raw()
818 if (ret < 0) { in kmx61_read_raw()
821 return ret; in kmx61_read_raw()
823 *val = sign_extend32(ret >> chan->scan_type.shift, in kmx61_read_raw()
825 ret = kmx61_set_power_state(data, false, chan->address); in kmx61_read_raw()
828 if (ret) in kmx61_read_raw()
829 return ret; in kmx61_read_raw()
850 ret = kmx61_get_odr(data, val, val2, chan->address); in kmx61_read_raw()
852 if (ret) in kmx61_read_raw()
863 int ret; in kmx61_write_raw() local
872 ret = kmx61_set_odr(data, val, val2, chan->address); in kmx61_write_raw()
874 return ret; in kmx61_write_raw()
881 ret = kmx61_set_scale(data, val2); in kmx61_write_raw()
883 return ret; in kmx61_write_raw()
955 int ret = 0; in kmx61_write_event_config() local
967 ret = kmx61_set_power_state(data, state, KMX61_ACC); in kmx61_write_event_config()
968 if (ret < 0) in kmx61_write_event_config()
971 ret = kmx61_setup_any_motion_interrupt(data, state); in kmx61_write_event_config()
972 if (ret < 0) { in kmx61_write_event_config()
982 return ret; in kmx61_write_event_config()
1031 int ret = 0; in kmx61_data_rdy_trigger_set_state() local
1049 ret = kmx61_set_power_state(data, state, device); in kmx61_data_rdy_trigger_set_state()
1050 if (ret < 0) in kmx61_data_rdy_trigger_set_state()
1054 ret = kmx61_setup_new_data_interrupt(data, state, device); in kmx61_data_rdy_trigger_set_state()
1056 ret = kmx61_setup_any_motion_interrupt(data, state); in kmx61_data_rdy_trigger_set_state()
1057 if (ret < 0) { in kmx61_data_rdy_trigger_set_state()
1071 return ret; in kmx61_data_rdy_trigger_set_state()
1078 int ret; in kmx61_trig_try_reenable() local
1080 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); in kmx61_trig_try_reenable()
1081 if (ret < 0) { in kmx61_trig_try_reenable()
1083 return ret; in kmx61_trig_try_reenable()
1099 int ret; in kmx61_event_handler() local
1101 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INS1); in kmx61_event_handler()
1102 if (ret < 0) { in kmx61_event_handler()
1107 if (ret & KMX61_REG_INS1_BIT_WUFS) { in kmx61_event_handler()
1108 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INS2); in kmx61_event_handler()
1109 if (ret < 0) { in kmx61_event_handler()
1114 if (ret & KMX61_REG_INS2_BIT_XN) in kmx61_event_handler()
1123 if (ret & KMX61_REG_INS2_BIT_XP) in kmx61_event_handler()
1132 if (ret & KMX61_REG_INS2_BIT_YN) in kmx61_event_handler()
1141 if (ret & KMX61_REG_INS2_BIT_YP) in kmx61_event_handler()
1150 if (ret & KMX61_REG_INS2_BIT_ZN) in kmx61_event_handler()
1159 if (ret & KMX61_REG_INS2_BIT_ZP) in kmx61_event_handler()
1170 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_event_handler()
1171 if (ret < 0) in kmx61_event_handler()
1174 ret |= KMX61_REG_CTRL1_BIT_RES; in kmx61_event_handler()
1175 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_event_handler()
1176 if (ret < 0) in kmx61_event_handler()
1179 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); in kmx61_event_handler()
1180 if (ret < 0) in kmx61_event_handler()
1208 int bit, ret, i = 0; in kmx61_trigger_handler() local
1220 ret = kmx61_read_measurement(data, base, bit); in kmx61_trigger_handler()
1221 if (ret < 0) { in kmx61_trigger_handler()
1225 buffer[i++] = ret; in kmx61_trigger_handler()
1250 int ret; in kmx61_gpio_probe() local
1264 ret = gpiod_to_irq(gpio); in kmx61_gpio_probe()
1266 dev_dbg(dev, "GPIO resource, no:%d irq:%d\n", desc_to_gpio(gpio), ret); in kmx61_gpio_probe()
1267 return ret; in kmx61_gpio_probe()
1299 int ret; in kmx61_trigger_setup() local
1313 ret = iio_trigger_register(trig); in kmx61_trigger_setup()
1314 if (ret) in kmx61_trigger_setup()
1315 return ERR_PTR(ret); in kmx61_trigger_setup()
1323 int ret; in kmx61_probe() local
1359 ret = kmx61_chip_init(data); in kmx61_probe()
1360 if (ret < 0) in kmx61_probe()
1361 return ret; in kmx61_probe()
1367 ret = devm_request_threaded_irq(&client->dev, client->irq, in kmx61_probe()
1373 if (ret) in kmx61_probe()
1380 ret = PTR_ERR(data->acc_dready_trig); in kmx61_probe()
1388 ret = PTR_ERR(data->mag_dready_trig); in kmx61_probe()
1396 ret = PTR_ERR(data->motion_trig); in kmx61_probe()
1400 ret = iio_triggered_buffer_setup(data->acc_indio_dev, in kmx61_probe()
1404 if (ret < 0) { in kmx61_probe()
1410 ret = iio_triggered_buffer_setup(data->mag_indio_dev, in kmx61_probe()
1414 if (ret < 0) { in kmx61_probe()
1421 ret = iio_device_register(data->acc_indio_dev); in kmx61_probe()
1422 if (ret < 0) { in kmx61_probe()
1427 ret = iio_device_register(data->mag_indio_dev); in kmx61_probe()
1428 if (ret < 0) { in kmx61_probe()
1433 ret = pm_runtime_set_active(&client->dev); in kmx61_probe()
1434 if (ret < 0) in kmx61_probe()
1461 return ret; in kmx61_probe()
1493 int ret; in kmx61_suspend() local
1497 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, in kmx61_suspend()
1501 return ret; in kmx61_suspend()
1522 int ret; in kmx61_runtime_suspend() local
1525 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_runtime_suspend()
1528 return ret; in kmx61_runtime_suspend()