Lines Matching refs:ret
225 int ret; in vl6180_read() local
227 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in vl6180_read()
228 if (ret < 0) in vl6180_read()
231 return ret; in vl6180_read()
237 int ret; in vl6180_read_byte() local
239 ret = vl6180_read(client, cmd, &data, sizeof(data)); in vl6180_read_byte()
240 if (ret < 0) in vl6180_read_byte()
241 return ret; in vl6180_read_byte()
249 int ret; in vl6180_read_word() local
251 ret = vl6180_read(client, cmd, &data, sizeof(data)); in vl6180_read_word()
252 if (ret < 0) in vl6180_read_word()
253 return ret; in vl6180_read_word()
263 int ret; in vl6180_write_byte() local
269 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in vl6180_write_byte()
270 if (ret < 0) { in vl6180_write_byte()
272 return ret; in vl6180_write_byte()
283 int ret; in vl6180_write_word() local
288 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in vl6180_write_word()
289 if (ret < 0) { in vl6180_write_word()
291 return ret; in vl6180_write_word()
300 int tries = 20, ret; in vl6180_measure() local
305 ret = vl6180_write_byte(client, in vl6180_measure()
307 if (ret < 0) in vl6180_measure()
311 ret = vl6180_read_byte(client, VL6180_INTR_STATUS); in vl6180_measure()
312 if (ret < 0) in vl6180_measure()
315 if (ret & vl6180_chan_regs_table[addr].drdy_mask) in vl6180_measure()
321 ret = -EIO; in vl6180_measure()
326 ret = vl6180_chan_regs_table[addr].word ? in vl6180_measure()
329 if (ret < 0) in vl6180_measure()
331 value = ret; in vl6180_measure()
334 ret = vl6180_write_byte(client, VL6180_INTR_CLEAR, in vl6180_measure()
336 if (ret < 0) in vl6180_measure()
339 ret = value; in vl6180_measure()
344 return ret; in vl6180_measure()
405 int ret; in vl6180_read_raw() local
409 ret = vl6180_measure(data, chan->address); in vl6180_read_raw()
410 if (ret < 0) in vl6180_read_raw()
411 return ret; in vl6180_read_raw()
412 *val = ret; in vl6180_read_raw()
470 int i, ret, gain; in vl6180_set_als_gain() local
483 ret = vl6180_hold(data, true); in vl6180_set_als_gain()
484 if (ret < 0) in vl6180_set_als_gain()
487 ret = vl6180_write_byte(data->client, VL6180_ALS_GAIN, in vl6180_set_als_gain()
490 if (ret >= 0) in vl6180_set_als_gain()
496 return ret; in vl6180_set_als_gain()
501 int ret, it_ms; in vl6180_set_it() local
508 ret = vl6180_hold(data, true); in vl6180_set_it()
509 if (ret < 0) in vl6180_set_it()
512 ret = vl6180_write_word(data->client, VL6180_ALS_IT, it_ms - 1); in vl6180_set_it()
514 if (ret >= 0) in vl6180_set_it()
521 return ret; in vl6180_set_it()
569 int ret; in vl6180_custom_init() local
574 ret = vl6180_write_byte(client, in vl6180_custom_init()
578 if (ret < 0) in vl6180_custom_init()
582 return ret; in vl6180_custom_init()
588 int ret; in vl6180_range_init() local
594 ret = vl6180_write_byte(client, VL6180_SYS_MODE_GPIO1, in vl6180_range_init()
597 if (ret < 0) in vl6180_range_init()
603 ret = vl6180_write_byte(client, VL6180_READOUT_AVERAGING_SAMPLE_PERIOD, in vl6180_range_init()
605 if (ret < 0) in vl6180_range_init()
611 ret = vl6180_write_byte(client, VL6180_RANGE_VHV_REPEAT_RATE, 0xff); in vl6180_range_init()
612 if (ret < 0) in vl6180_range_init()
616 ret = vl6180_write_byte(client, VL6180_RANGE_VHV_RECALIBRATE, 0x01); in vl6180_range_init()
617 if (ret < 0) in vl6180_range_init()
621 ret = vl6180_write_byte(client, VL6180_RANGE_MAX_AMBIENT_LEVEL_MULT, in vl6180_range_init()
623 if (ret < 0) in vl6180_range_init()
627 ret = vl6180_write_byte(client, VL6180_RANGE_INTER_MES_PERIOD, 0x09); in vl6180_range_init()
628 if (ret < 0) in vl6180_range_init()
635 ret = vl6180_read_byte(client, VL6180_RANGE_RANGE_IGNORE_THRESHOLD); in vl6180_range_init()
636 if (ret < 0) in vl6180_range_init()
639 ret = vl6180_write_byte(client, 0x0da, ret); in vl6180_range_init()
640 if (ret < 0) in vl6180_range_init()
643 ret = vl6180_read_byte(client, 0x027); in vl6180_range_init()
644 if (ret < 0) in vl6180_range_init()
647 ret = vl6180_write_byte(client, 0x0db, ret); in vl6180_range_init()
648 if (ret < 0) in vl6180_range_init()
651 ret = vl6180_read_byte(client, 0x028); in vl6180_range_init()
652 if (ret < 0) in vl6180_range_init()
655 ret = vl6180_write_byte(client, 0x0dc, ret); in vl6180_range_init()
656 if (ret < 0) in vl6180_range_init()
659 ret = vl6180_read_byte(client, 0x029); in vl6180_range_init()
660 if (ret < 0) in vl6180_range_init()
663 ret = vl6180_write_byte(client, 0x0dd, ret); in vl6180_range_init()
664 if (ret < 0) in vl6180_range_init()
667 ret = vl6180_write_byte(client, VL6180_RANGE_MAX_CONVERGENCE_TIME, 0x32); in vl6180_range_init()
668 if (ret < 0) in vl6180_range_init()
671 ret = vl6180_read_byte(client, VL6180_RANGE_RANGE_CHECK_ENABLES); in vl6180_range_init()
672 if (ret < 0) in vl6180_range_init()
676 enables = ret & 0xfe; in vl6180_range_init()
677 ret = vl6180_write_byte(client, VL6180_RANGE_RANGE_CHECK_ENABLES, enables); in vl6180_range_init()
678 if (ret < 0) in vl6180_range_init()
681 ret = vl6180_write_byte(client, VL6180_RANGE_THRESH_HIGH, 0xc8); in vl6180_range_init()
682 if (ret < 0) in vl6180_range_init()
685 ret = vl6180_write_byte(client, VL6180_RANGE_THRESH_LOW, 0x00); in vl6180_range_init()
686 if (ret < 0) in vl6180_range_init()
689 ret = vl6180_write_byte(client, VL6180_ALS_IT, VL6180_ALS_IT_100); in vl6180_range_init()
690 if (ret < 0) in vl6180_range_init()
693 ret = vl6180_write_byte(client, VL6180_ALS_INTER_MES_PERIOD, 0x13); in vl6180_range_init()
694 if (ret < 0) in vl6180_range_init()
697 ret = vl6180_write_byte(client, VL6180_ALS_GAIN, VL6180_ALS_GAIN_1); in vl6180_range_init()
698 if (ret < 0) in vl6180_range_init()
701 ret = vl6180_write_byte(client, VL6180_ALS_THRESH_LOW, 0x00); in vl6180_range_init()
702 if (ret < 0) in vl6180_range_init()
705 ret = vl6180_write_byte(client, VL6180_ALS_THRESH_HIGH, 0xff); in vl6180_range_init()
706 if (ret < 0) in vl6180_range_init()
710 ret = vl6180_write_byte(client, in vl6180_range_init()
712 if (ret < 0) in vl6180_range_init()
715 ret = vl6180_read_byte(client, VL6180_RANGE_PART_TO_PART_RANGE_OFFSET); in vl6180_range_init()
716 if (ret < 0) in vl6180_range_init()
720 offset = ret / 4; in vl6180_range_init()
721 ret = vl6180_write_byte(client, VL6180_RANGE_PART_TO_PART_RANGE_OFFSET, in vl6180_range_init()
723 if (ret < 0) in vl6180_range_init()
726 ret = vl6180_write_byte(client, in vl6180_range_init()
729 if (ret < 0) in vl6180_range_init()
732 ret = vl6180_write_byte(client, 0x01f, xtalk); in vl6180_range_init()
735 return ret; in vl6180_range_init()
741 int ret; in vl6180_init() local
743 ret = vl6180_power_enable(data); in vl6180_init()
744 if (ret) { in vl6180_init()
746 return ret; in vl6180_init()
756 ret = vl6180_read_byte(client, VL6180_MODEL_ID); in vl6180_init()
757 if (ret < 0) in vl6180_init()
758 return ret; in vl6180_init()
760 if (ret != VL6180_MODEL_ID_VAL) { in vl6180_init()
761 dev_err(&client->dev, "invalid model ID %02x\n", ret); in vl6180_init()
765 ret = vl6180_hold(data, true); in vl6180_init()
766 if (ret < 0) in vl6180_init()
767 return ret; in vl6180_init()
769 ret = vl6180_read_byte(client, VL6180_OUT_OF_RESET); in vl6180_init()
770 if (ret < 0) in vl6180_init()
771 return ret; in vl6180_init()
777 if (ret != 0x01) in vl6180_init()
782 ret = vl6180_write_word(client, VL6180_ALS_IT, VL6180_ALS_IT_100); in vl6180_init()
783 if (ret < 0) in vl6180_init()
784 return ret; in vl6180_init()
788 ret = vl6180_write_byte(client, VL6180_ALS_GAIN, VL6180_ALS_GAIN_1); in vl6180_init()
789 if (ret < 0) in vl6180_init()
790 return ret; in vl6180_init()
792 ret = vl6180_custom_init(data); in vl6180_init()
793 if (ret < 0) in vl6180_init()
794 return ret; in vl6180_init()
796 ret = vl6180_range_init(data); in vl6180_init()
797 if (ret < 0) in vl6180_init()
798 return ret; in vl6180_init()
800 ret = vl6180_write_byte(client, VL6180_RANGE_START, in vl6180_init()
802 if (ret < 0) in vl6180_init()
803 return ret; in vl6180_init()
805 ret = vl6180_write_byte(client, VL6180_OUT_OF_RESET, 0x00); in vl6180_init()
806 if (ret < 0) in vl6180_init()
807 return ret; in vl6180_init()
817 int ret; in vl6180_irq_thread() local
820 ret = vl6180_read_byte(client, VL6180_INTR_STATUS); in vl6180_irq_thread()
821 if (ret < 0) in vl6180_irq_thread()
824 if (ret & VL6180_INT_ALS_GPIO_MASK) in vl6180_irq_thread()
827 if (ret & VL6180_INT_RANGE_GPIO_MASK) in vl6180_irq_thread()
830 if (ret & VL6180_INT_ERR_GPIO_MASK) in vl6180_irq_thread()
835 ret = vl6180_read_word(client, VL6180_ALS_VALUE); in vl6180_irq_thread()
836 if (ret < 0) in vl6180_irq_thread()
838 data->scan.channels[VL6180_ALS] = ret; in vl6180_irq_thread()
840 ret = vl6180_read_byte(client, VL6180_RANGE_VALUE); in vl6180_irq_thread()
841 if (ret < 0) in vl6180_irq_thread()
843 data->scan.channels[VL6180_RANGE] = ret; in vl6180_irq_thread()
845 ret = vl6180_read_word(client, VL6180_RANGE_RATE); in vl6180_irq_thread()
846 if (ret < 0) in vl6180_irq_thread()
848 data->scan.channels[VL6180_PROX] = ret; in vl6180_irq_thread()
861 int ret; in vl6180_buffer_preenable() local
863 ret = vl6180_read_byte(data->client, VL6180_INTR_CONFIG); in vl6180_buffer_preenable()
864 if (ret < 0) in vl6180_buffer_preenable()
865 return ret; in vl6180_buffer_preenable()
868 val = ret | VL6180_ALS_READY | VL6180_RANGE_READY; in vl6180_buffer_preenable()
869 ret = vl6180_write_byte(data->client, VL6180_INTR_CONFIG, val); in vl6180_buffer_preenable()
871 return ret; in vl6180_buffer_preenable()
878 int ret; in vl6180_buffer_postdisable() local
880 ret = vl6180_read_byte(data->client, VL6180_INTR_CONFIG); in vl6180_buffer_postdisable()
881 if (ret < 0) in vl6180_buffer_postdisable()
882 return ret; in vl6180_buffer_postdisable()
885 val = ret & ~(VL6180_ALS_READY | VL6180_RANGE_READY); in vl6180_buffer_postdisable()
886 ret = vl6180_write_byte(data->client, VL6180_INTR_CONFIG, val); in vl6180_buffer_postdisable()
888 return ret; in vl6180_buffer_postdisable()
903 int ret; in vl6180_probe() local
929 ret = vl6180_init(data); in vl6180_probe()
930 if (ret < 0) in vl6180_probe()
931 return ret; in vl6180_probe()
943 ret = devm_request_threaded_irq(&client->dev, client->irq, in vl6180_probe()
947 if (ret) { in vl6180_probe()
950 return ret; in vl6180_probe()