Lines Matching refs:ret
221 int ret; in kxcjk1013_set_mode() local
223 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1); in kxcjk1013_set_mode()
224 if (ret < 0) { in kxcjk1013_set_mode()
226 return ret; in kxcjk1013_set_mode()
230 ret &= ~KXCJK1013_REG_CTRL1_BIT_PC1; in kxcjk1013_set_mode()
232 ret |= KXCJK1013_REG_CTRL1_BIT_PC1; in kxcjk1013_set_mode()
234 ret = i2c_smbus_write_byte_data(data->client, in kxcjk1013_set_mode()
235 KXCJK1013_REG_CTRL1, ret); in kxcjk1013_set_mode()
236 if (ret < 0) { in kxcjk1013_set_mode()
238 return ret; in kxcjk1013_set_mode()
247 int ret; in kxcjk1013_get_mode() local
249 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1); in kxcjk1013_get_mode()
250 if (ret < 0) { in kxcjk1013_get_mode()
252 return ret; in kxcjk1013_get_mode()
255 if (ret & KXCJK1013_REG_CTRL1_BIT_PC1) in kxcjk1013_get_mode()
265 int ret; in kxcjk1013_set_range() local
267 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1); in kxcjk1013_set_range()
268 if (ret < 0) { in kxcjk1013_set_range()
270 return ret; in kxcjk1013_set_range()
273 ret &= ~(KXCJK1013_REG_CTRL1_BIT_GSEL0 | in kxcjk1013_set_range()
275 ret |= (KXCJK1013_scale_table[range_index].gsel_0 << 3); in kxcjk1013_set_range()
276 ret |= (KXCJK1013_scale_table[range_index].gsel_1 << 4); in kxcjk1013_set_range()
278 ret = i2c_smbus_write_byte_data(data->client, in kxcjk1013_set_range()
280 ret); in kxcjk1013_set_range()
281 if (ret < 0) { in kxcjk1013_set_range()
283 return ret; in kxcjk1013_set_range()
293 int ret; in kxcjk1013_chip_init() local
295 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_WHO_AM_I); in kxcjk1013_chip_init()
296 if (ret < 0) { in kxcjk1013_chip_init()
298 return ret; in kxcjk1013_chip_init()
301 dev_dbg(&data->client->dev, "KXCJK1013 Chip Id %x\n", ret); in kxcjk1013_chip_init()
303 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_chip_init()
304 if (ret < 0) in kxcjk1013_chip_init()
305 return ret; in kxcjk1013_chip_init()
307 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1); in kxcjk1013_chip_init()
308 if (ret < 0) { in kxcjk1013_chip_init()
310 return ret; in kxcjk1013_chip_init()
314 ret |= KXCJK1013_REG_CTRL1_BIT_RES; in kxcjk1013_chip_init()
316 ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_CTRL1, in kxcjk1013_chip_init()
317 ret); in kxcjk1013_chip_init()
318 if (ret < 0) { in kxcjk1013_chip_init()
320 return ret; in kxcjk1013_chip_init()
324 ret = kxcjk1013_set_range(data, KXCJK1013_RANGE_4G); in kxcjk1013_chip_init()
325 if (ret < 0) in kxcjk1013_chip_init()
326 return ret; in kxcjk1013_chip_init()
328 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_DATA_CTRL); in kxcjk1013_chip_init()
329 if (ret < 0) { in kxcjk1013_chip_init()
331 return ret; in kxcjk1013_chip_init()
334 data->odr_bits = ret; in kxcjk1013_chip_init()
337 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_CTRL1); in kxcjk1013_chip_init()
338 if (ret < 0) { in kxcjk1013_chip_init()
340 return ret; in kxcjk1013_chip_init()
344 ret |= KXCJK1013_REG_INT_REG1_BIT_IEA; in kxcjk1013_chip_init()
346 ret &= ~KXCJK1013_REG_INT_REG1_BIT_IEA; in kxcjk1013_chip_init()
348 ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_INT_CTRL1, in kxcjk1013_chip_init()
349 ret); in kxcjk1013_chip_init()
350 if (ret < 0) { in kxcjk1013_chip_init()
352 return ret; in kxcjk1013_chip_init()
355 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_chip_init()
356 if (ret < 0) in kxcjk1013_chip_init()
357 return ret; in kxcjk1013_chip_init()
382 int ret; in kxcjk1013_set_power_state() local
385 ret = pm_runtime_get_sync(&data->client->dev); in kxcjk1013_set_power_state()
388 ret = pm_runtime_put_autosuspend(&data->client->dev); in kxcjk1013_set_power_state()
390 if (ret < 0) { in kxcjk1013_set_power_state()
395 return ret; in kxcjk1013_set_power_state()
404 int ret; in kxcjk1013_chip_update_thresholds() local
406 ret = i2c_smbus_write_byte_data(data->client, in kxcjk1013_chip_update_thresholds()
409 if (ret < 0) { in kxcjk1013_chip_update_thresholds()
412 return ret; in kxcjk1013_chip_update_thresholds()
415 ret = i2c_smbus_write_byte_data(data->client, in kxcjk1013_chip_update_thresholds()
418 if (ret < 0) { in kxcjk1013_chip_update_thresholds()
420 return ret; in kxcjk1013_chip_update_thresholds()
429 int ret; in kxcjk1013_setup_any_motion_interrupt() local
432 ret = kxcjk1013_get_mode(data, &store_mode); in kxcjk1013_setup_any_motion_interrupt()
433 if (ret < 0) in kxcjk1013_setup_any_motion_interrupt()
434 return ret; in kxcjk1013_setup_any_motion_interrupt()
437 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_setup_any_motion_interrupt()
438 if (ret < 0) in kxcjk1013_setup_any_motion_interrupt()
439 return ret; in kxcjk1013_setup_any_motion_interrupt()
441 ret = kxcjk1013_chip_update_thresholds(data); in kxcjk1013_setup_any_motion_interrupt()
442 if (ret < 0) in kxcjk1013_setup_any_motion_interrupt()
443 return ret; in kxcjk1013_setup_any_motion_interrupt()
445 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_CTRL1); in kxcjk1013_setup_any_motion_interrupt()
446 if (ret < 0) { in kxcjk1013_setup_any_motion_interrupt()
448 return ret; in kxcjk1013_setup_any_motion_interrupt()
452 ret |= KXCJK1013_REG_INT_REG1_BIT_IEN; in kxcjk1013_setup_any_motion_interrupt()
454 ret &= ~KXCJK1013_REG_INT_REG1_BIT_IEN; in kxcjk1013_setup_any_motion_interrupt()
456 ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_INT_CTRL1, in kxcjk1013_setup_any_motion_interrupt()
457 ret); in kxcjk1013_setup_any_motion_interrupt()
458 if (ret < 0) { in kxcjk1013_setup_any_motion_interrupt()
460 return ret; in kxcjk1013_setup_any_motion_interrupt()
463 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1); in kxcjk1013_setup_any_motion_interrupt()
464 if (ret < 0) { in kxcjk1013_setup_any_motion_interrupt()
466 return ret; in kxcjk1013_setup_any_motion_interrupt()
470 ret |= KXCJK1013_REG_CTRL1_BIT_WUFE; in kxcjk1013_setup_any_motion_interrupt()
472 ret &= ~KXCJK1013_REG_CTRL1_BIT_WUFE; in kxcjk1013_setup_any_motion_interrupt()
474 ret = i2c_smbus_write_byte_data(data->client, in kxcjk1013_setup_any_motion_interrupt()
475 KXCJK1013_REG_CTRL1, ret); in kxcjk1013_setup_any_motion_interrupt()
476 if (ret < 0) { in kxcjk1013_setup_any_motion_interrupt()
478 return ret; in kxcjk1013_setup_any_motion_interrupt()
482 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_setup_any_motion_interrupt()
483 if (ret < 0) in kxcjk1013_setup_any_motion_interrupt()
484 return ret; in kxcjk1013_setup_any_motion_interrupt()
493 int ret; in kxcjk1013_setup_new_data_interrupt() local
496 ret = kxcjk1013_get_mode(data, &store_mode); in kxcjk1013_setup_new_data_interrupt()
497 if (ret < 0) in kxcjk1013_setup_new_data_interrupt()
498 return ret; in kxcjk1013_setup_new_data_interrupt()
501 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_setup_new_data_interrupt()
502 if (ret < 0) in kxcjk1013_setup_new_data_interrupt()
503 return ret; in kxcjk1013_setup_new_data_interrupt()
505 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_CTRL1); in kxcjk1013_setup_new_data_interrupt()
506 if (ret < 0) { in kxcjk1013_setup_new_data_interrupt()
508 return ret; in kxcjk1013_setup_new_data_interrupt()
512 ret |= KXCJK1013_REG_INT_REG1_BIT_IEN; in kxcjk1013_setup_new_data_interrupt()
514 ret &= ~KXCJK1013_REG_INT_REG1_BIT_IEN; in kxcjk1013_setup_new_data_interrupt()
516 ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_INT_CTRL1, in kxcjk1013_setup_new_data_interrupt()
517 ret); in kxcjk1013_setup_new_data_interrupt()
518 if (ret < 0) { in kxcjk1013_setup_new_data_interrupt()
520 return ret; in kxcjk1013_setup_new_data_interrupt()
523 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1); in kxcjk1013_setup_new_data_interrupt()
524 if (ret < 0) { in kxcjk1013_setup_new_data_interrupt()
526 return ret; in kxcjk1013_setup_new_data_interrupt()
530 ret |= KXCJK1013_REG_CTRL1_BIT_DRDY; in kxcjk1013_setup_new_data_interrupt()
532 ret &= ~KXCJK1013_REG_CTRL1_BIT_DRDY; in kxcjk1013_setup_new_data_interrupt()
534 ret = i2c_smbus_write_byte_data(data->client, in kxcjk1013_setup_new_data_interrupt()
535 KXCJK1013_REG_CTRL1, ret); in kxcjk1013_setup_new_data_interrupt()
536 if (ret < 0) { in kxcjk1013_setup_new_data_interrupt()
538 return ret; in kxcjk1013_setup_new_data_interrupt()
542 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_setup_new_data_interrupt()
543 if (ret < 0) in kxcjk1013_setup_new_data_interrupt()
544 return ret; in kxcjk1013_setup_new_data_interrupt()
580 int ret; in kxcjk1013_set_odr() local
584 ret = kxcjk1013_get_mode(data, &store_mode); in kxcjk1013_set_odr()
585 if (ret < 0) in kxcjk1013_set_odr()
586 return ret; in kxcjk1013_set_odr()
593 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_set_odr()
594 if (ret < 0) in kxcjk1013_set_odr()
595 return ret; in kxcjk1013_set_odr()
597 ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_DATA_CTRL, in kxcjk1013_set_odr()
599 if (ret < 0) { in kxcjk1013_set_odr()
601 return ret; in kxcjk1013_set_odr()
610 ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_CTRL2, in kxcjk1013_set_odr()
612 if (ret < 0) { in kxcjk1013_set_odr()
614 return ret; in kxcjk1013_set_odr()
618 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_set_odr()
619 if (ret < 0) in kxcjk1013_set_odr()
620 return ret; in kxcjk1013_set_odr()
644 int ret; in kxcjk1013_get_acc_reg() local
646 ret = i2c_smbus_read_word_data(data->client, reg); in kxcjk1013_get_acc_reg()
647 if (ret < 0) { in kxcjk1013_get_acc_reg()
650 return ret; in kxcjk1013_get_acc_reg()
653 return ret; in kxcjk1013_get_acc_reg()
658 int ret, i; in kxcjk1013_set_scale() local
663 ret = kxcjk1013_get_mode(data, &store_mode); in kxcjk1013_set_scale()
664 if (ret < 0) in kxcjk1013_set_scale()
665 return ret; in kxcjk1013_set_scale()
667 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_set_scale()
668 if (ret < 0) in kxcjk1013_set_scale()
669 return ret; in kxcjk1013_set_scale()
671 ret = kxcjk1013_set_range(data, i); in kxcjk1013_set_scale()
672 if (ret < 0) in kxcjk1013_set_scale()
673 return ret; in kxcjk1013_set_scale()
676 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_set_scale()
677 if (ret) in kxcjk1013_set_scale()
678 return ret; in kxcjk1013_set_scale()
693 int ret; in kxcjk1013_read_raw() local
699 ret = -EBUSY; in kxcjk1013_read_raw()
701 ret = kxcjk1013_set_power_state(data, true); in kxcjk1013_read_raw()
702 if (ret < 0) { in kxcjk1013_read_raw()
704 return ret; in kxcjk1013_read_raw()
706 ret = kxcjk1013_get_acc_reg(data, chan->scan_index); in kxcjk1013_read_raw()
707 if (ret < 0) { in kxcjk1013_read_raw()
710 return ret; in kxcjk1013_read_raw()
712 *val = sign_extend32(ret >> 4, 11); in kxcjk1013_read_raw()
713 ret = kxcjk1013_set_power_state(data, false); in kxcjk1013_read_raw()
717 if (ret < 0) in kxcjk1013_read_raw()
718 return ret; in kxcjk1013_read_raw()
729 ret = kxcjk1013_get_odr(data, val, val2); in kxcjk1013_read_raw()
731 return ret; in kxcjk1013_read_raw()
743 int ret; in kxcjk1013_write_raw() local
748 ret = kxcjk1013_set_odr(data, val, val2); in kxcjk1013_write_raw()
756 ret = kxcjk1013_set_scale(data, val2); in kxcjk1013_write_raw()
760 ret = -EINVAL; in kxcjk1013_write_raw()
763 return ret; in kxcjk1013_write_raw()
833 int ret; in kxcjk1013_write_event_config() local
855 ret = kxcjk1013_set_power_state(data, state); in kxcjk1013_write_event_config()
856 if (ret < 0) { in kxcjk1013_write_event_config()
858 return ret; in kxcjk1013_write_event_config()
861 ret = kxcjk1013_setup_any_motion_interrupt(data, state); in kxcjk1013_write_event_config()
862 if (ret < 0) { in kxcjk1013_write_event_config()
866 return ret; in kxcjk1013_write_event_config()
961 int bit, ret, i = 0; in kxcjk1013_trigger_handler() local
967 ret = kxcjk1013_get_acc_reg(data, bit); in kxcjk1013_trigger_handler()
968 if (ret < 0) { in kxcjk1013_trigger_handler()
972 data->buffer[i++] = ret; in kxcjk1013_trigger_handler()
988 int ret; in kxcjk1013_trig_try_reen() local
990 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_REL); in kxcjk1013_trig_try_reen()
991 if (ret < 0) { in kxcjk1013_trig_try_reen()
993 return ret; in kxcjk1013_trig_try_reen()
1004 int ret; in kxcjk1013_data_rdy_trigger_set_state() local
1014 ret = kxcjk1013_set_power_state(data, state); in kxcjk1013_data_rdy_trigger_set_state()
1015 if (ret < 0) { in kxcjk1013_data_rdy_trigger_set_state()
1017 return ret; in kxcjk1013_data_rdy_trigger_set_state()
1020 ret = kxcjk1013_setup_any_motion_interrupt(data, state); in kxcjk1013_data_rdy_trigger_set_state()
1022 ret = kxcjk1013_setup_new_data_interrupt(data, state); in kxcjk1013_data_rdy_trigger_set_state()
1023 if (ret < 0) { in kxcjk1013_data_rdy_trigger_set_state()
1026 return ret; in kxcjk1013_data_rdy_trigger_set_state()
1048 int ret; in kxcjk1013_event_handler() local
1050 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_SRC1); in kxcjk1013_event_handler()
1051 if (ret < 0) { in kxcjk1013_event_handler()
1056 if (ret & 0x02) { in kxcjk1013_event_handler()
1057 ret = i2c_smbus_read_byte_data(data->client, in kxcjk1013_event_handler()
1059 if (ret < 0) { in kxcjk1013_event_handler()
1065 if (ret & KXCJK1013_REG_INT_SRC2_BIT_XN) in kxcjk1013_event_handler()
1073 if (ret & KXCJK1013_REG_INT_SRC2_BIT_XP) in kxcjk1013_event_handler()
1083 if (ret & KXCJK1013_REG_INT_SRC2_BIT_YN) in kxcjk1013_event_handler()
1091 if (ret & KXCJK1013_REG_INT_SRC2_BIT_YP) in kxcjk1013_event_handler()
1100 if (ret & KXCJK1013_REG_INT_SRC2_BIT_ZN) in kxcjk1013_event_handler()
1108 if (ret & KXCJK1013_REG_INT_SRC2_BIT_ZP) in kxcjk1013_event_handler()
1122 ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_REL); in kxcjk1013_event_handler()
1123 if (ret < 0) in kxcjk1013_event_handler()
1172 int ret; in kxcjk1013_probe() local
1198 ret = kxcjk1013_chip_init(data); in kxcjk1013_probe()
1199 if (ret < 0) in kxcjk1013_probe()
1200 return ret; in kxcjk1013_probe()
1212 ret = devm_request_threaded_irq(&client->dev, client->irq, in kxcjk1013_probe()
1218 if (ret) in kxcjk1013_probe()
1226 ret = -ENOMEM; in kxcjk1013_probe()
1235 ret = -ENOMEM; in kxcjk1013_probe()
1244 ret = iio_trigger_register(data->dready_trig); in kxcjk1013_probe()
1245 if (ret) in kxcjk1013_probe()
1251 ret = iio_trigger_register(data->motion_trig); in kxcjk1013_probe()
1252 if (ret) { in kxcjk1013_probe()
1258 ret = iio_triggered_buffer_setup(indio_dev, in kxcjk1013_probe()
1262 if (ret < 0) { in kxcjk1013_probe()
1267 ret = iio_device_register(indio_dev); in kxcjk1013_probe()
1268 if (ret < 0) { in kxcjk1013_probe()
1273 ret = pm_runtime_set_active(&client->dev); in kxcjk1013_probe()
1274 if (ret) in kxcjk1013_probe()
1297 return ret; in kxcjk1013_probe()
1329 int ret; in kxcjk1013_suspend() local
1332 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_suspend()
1335 return ret; in kxcjk1013_suspend()
1342 int ret = 0; in kxcjk1013_resume() local
1345 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_resume()
1348 return ret; in kxcjk1013_resume()
1357 int ret; in kxcjk1013_runtime_suspend() local
1359 ret = kxcjk1013_set_mode(data, STANDBY); in kxcjk1013_runtime_suspend()
1360 if (ret < 0) { in kxcjk1013_runtime_suspend()
1371 int ret; in kxcjk1013_runtime_resume() local
1374 ret = kxcjk1013_set_mode(data, OPERATION); in kxcjk1013_runtime_resume()
1375 if (ret < 0) in kxcjk1013_runtime_resume()
1376 return ret; in kxcjk1013_runtime_resume()