Lines Matching refs:data

284 static void kmx61_set_data(struct iio_dev *indio_dev, struct kmx61_data *data)  in kmx61_set_data()  argument
288 *priv = data; in kmx61_set_data()
330 static int kmx61_set_mode(struct kmx61_data *data, u8 mode, u8 device, in kmx61_set_mode() argument
336 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_STBY); in kmx61_set_mode()
338 dev_err(&data->client->dev, "Error reading reg_stby\n"); in kmx61_set_mode()
364 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_STBY, ret); in kmx61_set_mode()
366 dev_err(&data->client->dev, "Error writing reg_stby\n"); in kmx61_set_mode()
371 data->acc_stby = acc_stby; in kmx61_set_mode()
373 data->mag_stby = mag_stby; in kmx61_set_mode()
378 static int kmx61_get_mode(struct kmx61_data *data, u8 *mode, u8 device) in kmx61_get_mode() argument
382 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_STBY); in kmx61_get_mode()
384 dev_err(&data->client->dev, "Error reading reg_stby\n"); in kmx61_get_mode()
406 static int kmx61_set_wake_up_odr(struct kmx61_data *data, int val, int val2) in kmx61_set_wake_up_odr() argument
414 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL2, in kmx61_set_wake_up_odr()
417 dev_err(&data->client->dev, "Error writing reg_ctrl2\n"); in kmx61_set_wake_up_odr()
421 static int kmx61_set_odr(struct kmx61_data *data, int val, int val2, u8 device) in kmx61_set_odr() argument
427 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); in kmx61_set_odr()
436 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, in kmx61_set_odr()
447 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_ODCNTL, in kmx61_set_odr()
452 data->odr_bits = odr_bits; in kmx61_set_odr()
455 ret = kmx61_set_wake_up_odr(data, val, val2); in kmx61_set_odr()
460 return kmx61_set_mode(data, mode, KMX61_ACC | KMX61_MAG, true); in kmx61_set_odr()
463 static int kmx61_get_odr(struct kmx61_data *data, int *val, int *val2, in kmx61_get_odr() argument
469 lodr_bits = (data->odr_bits >> KMX61_ACC_ODR_SHIFT) & in kmx61_get_odr()
472 lodr_bits = (data->odr_bits >> KMX61_MAG_ODR_SHIFT) & in kmx61_get_odr()
486 static int kmx61_set_range(struct kmx61_data *data, u8 range) in kmx61_set_range() argument
490 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_set_range()
492 dev_err(&data->client->dev, "Error reading reg_ctrl1\n"); in kmx61_set_range()
499 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_set_range()
501 dev_err(&data->client->dev, "Error writing reg_ctrl1\n"); in kmx61_set_range()
505 data->range = range; in kmx61_set_range()
510 static int kmx61_set_scale(struct kmx61_data *data, u16 uscale) in kmx61_set_scale() argument
517 ret = kmx61_get_mode(data, &mode, in kmx61_set_scale()
522 ret = kmx61_set_mode(data, KMX61_ALL_STBY, in kmx61_set_scale()
527 ret = kmx61_set_range(data, i); in kmx61_set_scale()
531 return kmx61_set_mode(data, mode, in kmx61_set_scale()
538 static int kmx61_chip_init(struct kmx61_data *data) in kmx61_chip_init() argument
542 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_WHO_AM_I); in kmx61_chip_init()
544 dev_err(&data->client->dev, "Error reading who_am_i\n"); in kmx61_chip_init()
549 dev_err(&data->client->dev, in kmx61_chip_init()
556 ret = kmx61_set_range(data, KMX61_RANGE_4G); in kmx61_chip_init()
560 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_ODCNTL); in kmx61_chip_init()
562 dev_err(&data->client->dev, "Error reading reg_odcntl\n"); 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()
575 ret = kmx61_set_wake_up_odr(data, val, val2); in kmx61_chip_init()
580 ret = kmx61_set_mode(data, 0, KMX61_ACC | KMX61_MAG, true); in kmx61_chip_init()
584 data->wake_thresh = KMX61_DEFAULT_WAKE_THRESH; in kmx61_chip_init()
585 data->wake_duration = KMX61_DEFAULT_WAKE_DURATION; in kmx61_chip_init()
590 static int kmx61_setup_new_data_interrupt(struct kmx61_data *data, in kmx61_setup_new_data_interrupt() argument
596 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); 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()
604 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INC1); in kmx61_setup_new_data_interrupt()
606 dev_err(&data->client->dev, "Error reading reg_ctrl1\n"); 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()
625 dev_err(&data->client->dev, "Error writing reg_int_ctrl1\n"); in kmx61_setup_new_data_interrupt()
629 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_setup_new_data_interrupt()
631 dev_err(&data->client->dev, "Error reading reg_ctrl1\n"); 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()
642 dev_err(&data->client->dev, "Error writing reg_ctrl1\n"); in kmx61_setup_new_data_interrupt()
646 return kmx61_set_mode(data, mode, KMX61_ACC | KMX61_MAG, true); in kmx61_setup_new_data_interrupt()
649 static int kmx61_chip_update_thresholds(struct kmx61_data *data) in kmx61_chip_update_thresholds() argument
653 ret = i2c_smbus_write_byte_data(data->client, in kmx61_chip_update_thresholds()
655 data->wake_duration); in kmx61_chip_update_thresholds()
657 dev_err(&data->client->dev, "Errow writing reg_wuf_timer\n"); in kmx61_chip_update_thresholds()
661 ret = i2c_smbus_write_byte_data(data->client, in kmx61_chip_update_thresholds()
663 data->wake_thresh); in kmx61_chip_update_thresholds()
665 dev_err(&data->client->dev, "Error writing reg_wuf_thresh\n"); in kmx61_chip_update_thresholds()
670 static int kmx61_setup_any_motion_interrupt(struct kmx61_data *data, in kmx61_setup_any_motion_interrupt() argument
676 ret = kmx61_get_mode(data, &mode, KMX61_ACC | KMX61_MAG); 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()
684 ret = kmx61_chip_update_thresholds(data); in kmx61_setup_any_motion_interrupt()
688 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INC1); in kmx61_setup_any_motion_interrupt()
690 dev_err(&data->client->dev, "Error reading reg_inc1\n"); 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()
700 dev_err(&data->client->dev, "Error writing reg_inc1\n"); in kmx61_setup_any_motion_interrupt()
704 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_setup_any_motion_interrupt()
706 dev_err(&data->client->dev, "Error reading reg_ctrl1\n"); 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()
717 dev_err(&data->client->dev, "Error writing reg_ctrl1\n"); in kmx61_setup_any_motion_interrupt()
721 return kmx61_set_mode(data, mode, KMX61_ACC | KMX61_MAG, true); in kmx61_setup_any_motion_interrupt()
735 static int kmx61_set_power_state(struct kmx61_data *data, bool on, u8 device) in kmx61_set_power_state() argument
741 if (on && !data->acc_ps && !data->mag_stby) { in kmx61_set_power_state()
742 ret = kmx61_set_mode(data, 0, KMX61_ACC, true); in kmx61_set_power_state()
746 data->acc_ps = on; in kmx61_set_power_state()
749 if (on && !data->mag_ps && !data->acc_stby) { in kmx61_set_power_state()
750 ret = kmx61_set_mode(data, 0, KMX61_MAG, true); in kmx61_set_power_state()
754 data->mag_ps = on; in kmx61_set_power_state()
758 ret = pm_runtime_get_sync(&data->client->dev); in kmx61_set_power_state()
760 pm_runtime_mark_last_busy(&data->client->dev); in kmx61_set_power_state()
761 ret = pm_runtime_put_autosuspend(&data->client->dev); in kmx61_set_power_state()
764 dev_err(&data->client->dev, in kmx61_set_power_state()
768 pm_runtime_put_noidle(&data->client->dev); in kmx61_set_power_state()
776 static int kmx61_read_measurement(struct kmx61_data *data, u8 base, u8 offset) in kmx61_read_measurement() argument
781 ret = i2c_smbus_read_word_data(data->client, reg); in kmx61_read_measurement()
783 dev_err(&data->client->dev, "failed to read reg at %x\n", reg); in kmx61_read_measurement()
794 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_read_raw() local
808 mutex_lock(&data->lock); in kmx61_read_raw()
810 ret = kmx61_set_power_state(data, true, chan->address); in kmx61_read_raw()
812 mutex_unlock(&data->lock); in kmx61_read_raw()
816 ret = kmx61_read_measurement(data, base_reg, chan->scan_index); in kmx61_read_raw()
818 kmx61_set_power_state(data, false, chan->address); in kmx61_read_raw()
819 mutex_unlock(&data->lock); in kmx61_read_raw()
824 ret = kmx61_set_power_state(data, false, chan->address); in kmx61_read_raw()
826 mutex_unlock(&data->lock); in kmx61_read_raw()
834 *val2 = kmx61_uscale_table[data->range]; in kmx61_read_raw()
848 mutex_lock(&data->lock); in kmx61_read_raw()
849 ret = kmx61_get_odr(data, val, val2, chan->address); in kmx61_read_raw()
850 mutex_unlock(&data->lock); in kmx61_read_raw()
863 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_write_raw() local
870 mutex_lock(&data->lock); in kmx61_write_raw()
871 ret = kmx61_set_odr(data, val, val2, chan->address); in kmx61_write_raw()
872 mutex_unlock(&data->lock); in kmx61_write_raw()
879 mutex_lock(&data->lock); in kmx61_write_raw()
880 ret = kmx61_set_scale(data, val2); in kmx61_write_raw()
881 mutex_unlock(&data->lock); in kmx61_write_raw()
898 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_read_event() local
903 *val = data->wake_thresh; in kmx61_read_event()
906 *val = data->wake_duration; in kmx61_read_event()
920 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_write_event() local
922 if (data->ev_enable_state) in kmx61_write_event()
927 data->wake_thresh = val; in kmx61_write_event()
930 data->wake_duration = val; in kmx61_write_event()
942 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_read_event_config() local
944 return data->ev_enable_state; in kmx61_read_event_config()
953 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_write_event_config() local
956 if (state && data->ev_enable_state) in kmx61_write_event_config()
959 mutex_lock(&data->lock); in kmx61_write_event_config()
961 if (!state && data->motion_trig_on) { in kmx61_write_event_config()
962 data->ev_enable_state = false; in kmx61_write_event_config()
966 ret = kmx61_set_power_state(data, state, KMX61_ACC); in kmx61_write_event_config()
970 ret = kmx61_setup_any_motion_interrupt(data, state); in kmx61_write_event_config()
972 kmx61_set_power_state(data, false, KMX61_ACC); in kmx61_write_event_config()
976 data->ev_enable_state = state; in kmx61_write_event_config()
979 mutex_unlock(&data->lock); in kmx61_write_event_config()
987 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_acc_validate_trigger() local
989 if (data->acc_dready_trig != trig && data->motion_trig != trig) in kmx61_acc_validate_trigger()
998 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_mag_validate_trigger() local
1000 if (data->mag_dready_trig != trig) in kmx61_mag_validate_trigger()
1034 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_data_rdy_trigger_set_state() local
1036 mutex_lock(&data->lock); in kmx61_data_rdy_trigger_set_state()
1038 if (!state && data->ev_enable_state && data->motion_trig_on) { in kmx61_data_rdy_trigger_set_state()
1039 data->motion_trig_on = false; in kmx61_data_rdy_trigger_set_state()
1043 if (data->acc_dready_trig == trig || data->motion_trig == trig) in kmx61_data_rdy_trigger_set_state()
1048 ret = kmx61_set_power_state(data, state, device); in kmx61_data_rdy_trigger_set_state()
1052 if (data->acc_dready_trig == trig || data->mag_dready_trig == trig) 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()
1057 kmx61_set_power_state(data, false, device); in kmx61_data_rdy_trigger_set_state()
1061 if (data->acc_dready_trig == trig) in kmx61_data_rdy_trigger_set_state()
1062 data->acc_dready_trig_on = state; in kmx61_data_rdy_trigger_set_state()
1063 else if (data->mag_dready_trig == trig) in kmx61_data_rdy_trigger_set_state()
1064 data->mag_dready_trig_on = state; in kmx61_data_rdy_trigger_set_state()
1066 data->motion_trig_on = state; in kmx61_data_rdy_trigger_set_state()
1068 mutex_unlock(&data->lock); in kmx61_data_rdy_trigger_set_state()
1076 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_trig_try_reenable() local
1079 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); in kmx61_trig_try_reenable()
1081 dev_err(&data->client->dev, "Error reading reg_inl\n"); in kmx61_trig_try_reenable()
1096 struct kmx61_data *data = private; in kmx61_event_handler() local
1097 struct iio_dev *indio_dev = data->acc_indio_dev; in kmx61_event_handler()
1100 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INS1); in kmx61_event_handler()
1102 dev_err(&data->client->dev, "Error reading reg_ins1\n"); in kmx61_event_handler()
1107 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INS2); in kmx61_event_handler()
1109 dev_err(&data->client->dev, "Error reading reg_ins2\n"); in kmx61_event_handler()
1169 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_CTRL1); in kmx61_event_handler()
1171 dev_err(&data->client->dev, "Error reading reg_ctrl1\n"); in kmx61_event_handler()
1174 ret = i2c_smbus_write_byte_data(data->client, KMX61_REG_CTRL1, ret); in kmx61_event_handler()
1176 dev_err(&data->client->dev, "Error writing reg_ctrl1\n"); in kmx61_event_handler()
1178 ret = i2c_smbus_read_byte_data(data->client, KMX61_REG_INL); in kmx61_event_handler()
1180 dev_err(&data->client->dev, "Error reading reg_inl\n"); in kmx61_event_handler()
1187 struct kmx61_data *data = private; in kmx61_data_rdy_trig_poll() local
1189 if (data->acc_dready_trig_on) in kmx61_data_rdy_trig_poll()
1190 iio_trigger_poll(data->acc_dready_trig); in kmx61_data_rdy_trig_poll()
1191 if (data->mag_dready_trig_on) in kmx61_data_rdy_trig_poll()
1192 iio_trigger_poll(data->mag_dready_trig); in kmx61_data_rdy_trig_poll()
1194 if (data->motion_trig_on) in kmx61_data_rdy_trig_poll()
1195 iio_trigger_poll(data->motion_trig); in kmx61_data_rdy_trig_poll()
1197 if (data->ev_enable_state) in kmx61_data_rdy_trig_poll()
1206 struct kmx61_data *data = kmx61_get_data(indio_dev); in kmx61_trigger_handler() local
1211 if (indio_dev == data->acc_indio_dev) in kmx61_trigger_handler()
1216 mutex_lock(&data->lock); in kmx61_trigger_handler()
1219 ret = kmx61_read_measurement(data, base, bit); in kmx61_trigger_handler()
1221 mutex_unlock(&data->lock); in kmx61_trigger_handler()
1226 mutex_unlock(&data->lock); in kmx61_trigger_handler()
1245 static struct iio_dev *kmx61_indiodev_setup(struct kmx61_data *data, in kmx61_indiodev_setup() argument
1253 indio_dev = devm_iio_device_alloc(&data->client->dev, sizeof(data)); in kmx61_indiodev_setup()
1257 kmx61_set_data(indio_dev, data); in kmx61_indiodev_setup()
1259 indio_dev->dev.parent = &data->client->dev; in kmx61_indiodev_setup()
1269 static struct iio_trigger *kmx61_trigger_setup(struct kmx61_data *data, in kmx61_trigger_setup() argument
1276 trig = devm_iio_trigger_alloc(&data->client->dev, in kmx61_trigger_setup()
1284 trig->dev.parent = &data->client->dev; in kmx61_trigger_setup()
1299 struct kmx61_data *data; in kmx61_probe() local
1302 data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL); in kmx61_probe()
1303 if (!data) in kmx61_probe()
1306 i2c_set_clientdata(client, data); in kmx61_probe()
1307 data->client = client; in kmx61_probe()
1309 mutex_init(&data->lock); in kmx61_probe()
1318 data->acc_indio_dev = in kmx61_probe()
1319 kmx61_indiodev_setup(data, &kmx61_acc_info, in kmx61_probe()
1323 if (IS_ERR(data->acc_indio_dev)) in kmx61_probe()
1324 return PTR_ERR(data->acc_indio_dev); in kmx61_probe()
1326 data->mag_indio_dev = in kmx61_probe()
1327 kmx61_indiodev_setup(data, &kmx61_mag_info, in kmx61_probe()
1331 if (IS_ERR(data->mag_indio_dev)) in kmx61_probe()
1332 return PTR_ERR(data->mag_indio_dev); in kmx61_probe()
1334 ret = kmx61_chip_init(data); in kmx61_probe()
1344 data); in kmx61_probe()
1348 data->acc_dready_trig = in kmx61_probe()
1349 kmx61_trigger_setup(data, data->acc_indio_dev, in kmx61_probe()
1351 if (IS_ERR(data->acc_dready_trig)) { in kmx61_probe()
1352 ret = PTR_ERR(data->acc_dready_trig); in kmx61_probe()
1356 data->mag_dready_trig = in kmx61_probe()
1357 kmx61_trigger_setup(data, data->mag_indio_dev, in kmx61_probe()
1359 if (IS_ERR(data->mag_dready_trig)) { in kmx61_probe()
1360 ret = PTR_ERR(data->mag_dready_trig); in kmx61_probe()
1364 data->motion_trig = in kmx61_probe()
1365 kmx61_trigger_setup(data, data->acc_indio_dev, in kmx61_probe()
1367 if (IS_ERR(data->motion_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()
1377 dev_err(&data->client->dev, in kmx61_probe()
1382 ret = iio_triggered_buffer_setup(data->mag_indio_dev, in kmx61_probe()
1387 dev_err(&data->client->dev, in kmx61_probe()
1393 ret = iio_device_register(data->acc_indio_dev); in kmx61_probe()
1399 ret = iio_device_register(data->mag_indio_dev); in kmx61_probe()
1416 iio_device_unregister(data->mag_indio_dev); in kmx61_probe()
1418 iio_device_unregister(data->acc_indio_dev); in kmx61_probe()
1421 iio_triggered_buffer_cleanup(data->mag_indio_dev); in kmx61_probe()
1424 iio_triggered_buffer_cleanup(data->acc_indio_dev); in kmx61_probe()
1426 iio_trigger_unregister(data->motion_trig); in kmx61_probe()
1428 iio_trigger_unregister(data->mag_dready_trig); in kmx61_probe()
1430 iio_trigger_unregister(data->acc_dready_trig); in kmx61_probe()
1432 kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_probe()
1438 struct kmx61_data *data = i2c_get_clientdata(client); in kmx61_remove() local
1444 iio_device_unregister(data->acc_indio_dev); in kmx61_remove()
1445 iio_device_unregister(data->mag_indio_dev); in kmx61_remove()
1448 iio_triggered_buffer_cleanup(data->acc_indio_dev); in kmx61_remove()
1449 iio_triggered_buffer_cleanup(data->mag_indio_dev); in kmx61_remove()
1450 iio_trigger_unregister(data->acc_dready_trig); in kmx61_remove()
1451 iio_trigger_unregister(data->mag_dready_trig); in kmx61_remove()
1452 iio_trigger_unregister(data->motion_trig); in kmx61_remove()
1455 mutex_lock(&data->lock); in kmx61_remove()
1456 kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_remove()
1457 mutex_unlock(&data->lock); in kmx61_remove()
1466 struct kmx61_data *data = i2c_get_clientdata(to_i2c_client(dev)); in kmx61_suspend() local
1468 mutex_lock(&data->lock); in kmx61_suspend()
1469 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, in kmx61_suspend()
1471 mutex_unlock(&data->lock); in kmx61_suspend()
1479 struct kmx61_data *data = i2c_get_clientdata(to_i2c_client(dev)); in kmx61_resume() local
1481 if (data->acc_stby) in kmx61_resume()
1483 if (data->mag_stby) in kmx61_resume()
1486 return kmx61_set_mode(data, stby, KMX61_ACC | KMX61_MAG, true); in kmx61_resume()
1493 struct kmx61_data *data = i2c_get_clientdata(to_i2c_client(dev)); in kmx61_runtime_suspend() local
1496 mutex_lock(&data->lock); in kmx61_runtime_suspend()
1497 ret = kmx61_set_mode(data, KMX61_ALL_STBY, KMX61_ACC | KMX61_MAG, true); in kmx61_runtime_suspend()
1498 mutex_unlock(&data->lock); in kmx61_runtime_suspend()
1505 struct kmx61_data *data = i2c_get_clientdata(to_i2c_client(dev)); in kmx61_runtime_resume() local
1508 if (!data->acc_ps) in kmx61_runtime_resume()
1510 if (!data->mag_ps) in kmx61_runtime_resume()
1513 return kmx61_set_mode(data, stby, KMX61_ACC | KMX61_MAG, true); in kmx61_runtime_resume()