Lines Matching refs:ret

136 	int ret = i2c_master_send(client, buf, sizeof(buf));  in s5c73m3_i2c_write()  local
141 if (ret == 4) in s5c73m3_i2c_write()
144 return ret < 0 ? ret : -EREMOTEIO; in s5c73m3_i2c_write()
149 int ret; in s5c73m3_i2c_read() local
168 ret = i2c_transfer(client->adapter, msg, 2); in s5c73m3_i2c_read()
169 if (ret == 2) { in s5c73m3_i2c_read()
177 v4l2_err(client, "I2C read failed: addr: %04x, (%d)\n", addr, ret); in s5c73m3_i2c_read()
179 return ret >= 0 ? -EREMOTEIO : ret; in s5c73m3_i2c_read()
185 int ret; in s5c73m3_write() local
188 ret = s5c73m3_i2c_write(client, REG_CMDWR_ADDRH, addr >> 16); in s5c73m3_write()
189 if (ret < 0) { in s5c73m3_write()
191 return ret; in s5c73m3_write()
196 ret = s5c73m3_i2c_write(client, REG_CMDWR_ADDRL, addr & 0xffff); in s5c73m3_write()
197 if (ret < 0) { in s5c73m3_write()
199 return ret; in s5c73m3_write()
205 ret = s5c73m3_i2c_write(client, REG_CMDBUF_ADDR, data); in s5c73m3_write()
206 if (ret < 0) in s5c73m3_write()
207 return ret; in s5c73m3_write()
211 return ret; in s5c73m3_write()
217 int ret; in s5c73m3_read() local
220 ret = s5c73m3_i2c_write(client, REG_CMDRD_ADDRH, addr >> 16); in s5c73m3_read()
221 if (ret < 0) { in s5c73m3_read()
223 return ret; in s5c73m3_read()
228 ret = s5c73m3_i2c_write(client, REG_CMDRD_ADDRL, addr & 0xffff); in s5c73m3_read()
229 if (ret < 0) { in s5c73m3_read()
231 return ret; in s5c73m3_read()
237 ret = s5c73m3_i2c_read(client, REG_CMDBUF_ADDR, data); in s5c73m3_read()
238 if (ret < 0) in s5c73m3_read()
239 return ret; in s5c73m3_read()
243 return ret; in s5c73m3_read()
250 int ret = 0; in s5c73m3_check_status() local
255 ret = s5c73m3_read(state, REG_STATUS, &status); in s5c73m3_check_status()
256 if (ret < 0 || status == value) in s5c73m3_check_status()
267 if (ret == 0 && status != value) { in s5c73m3_check_status()
281 return ret; in s5c73m3_check_status()
286 int ret; in s5c73m3_isp_command() local
288 ret = s5c73m3_check_status(state, REG_STATUS_ISP_COMMAND_COMPLETED); in s5c73m3_isp_command()
289 if (ret < 0) in s5c73m3_isp_command()
290 return ret; in s5c73m3_isp_command()
292 ret = s5c73m3_write(state, 0x00095000, command); in s5c73m3_isp_command()
293 if (ret < 0) in s5c73m3_isp_command()
294 return ret; in s5c73m3_isp_command()
296 ret = s5c73m3_write(state, 0x00095002, data); in s5c73m3_isp_command()
297 if (ret < 0) in s5c73m3_isp_command()
298 return ret; in s5c73m3_isp_command()
314 int ret; in s5c73m3_set_af_softlanding() local
317 ret = s5c73m3_isp_command(state, COMM_AF_SOFTLANDING, in s5c73m3_set_af_softlanding()
319 if (ret < 0) { in s5c73m3_set_af_softlanding()
321 return ret; in s5c73m3_set_af_softlanding()
325 ret = s5c73m3_isp_comm_result(state, COMM_AF_SOFTLANDING, in s5c73m3_set_af_softlanding()
327 if (ret < 0) { in s5c73m3_set_af_softlanding()
336 ret = -ETIME; in s5c73m3_set_af_softlanding()
346 return ret; in s5c73m3_set_af_softlanding()
354 int ret; in s5c73m3_load_fw() local
359 ret = request_firmware(&fw, fw_name, &client->dev); in s5c73m3_load_fw()
360 if (ret < 0) { in s5c73m3_load_fw()
367 ret = s5c73m3_spi_write(state, fw->data, fw->size, 64); in s5c73m3_load_fw()
369 if (ret >= 0) in s5c73m3_load_fw()
376 return ret; in s5c73m3_load_fw()
405 int ret; in s5c73m3_set_frame_rate() local
413 ret = s5c73m3_isp_command(state, COMM_FRAME_RATE, state->fiv->fps_reg); in s5c73m3_set_frame_rate()
414 if (!ret) in s5c73m3_set_frame_rate()
417 return ret; in s5c73m3_set_frame_rate()
424 int ret; in __s5c73m3_s_stream() local
432 ret = s5c73m3_isp_command(state, COMM_IMG_OUTPUT, mode); in __s5c73m3_s_stream()
433 if (!ret) in __s5c73m3_s_stream()
434 ret = s5c73m3_set_frame_size(state); in __s5c73m3_s_stream()
435 if (ret) in __s5c73m3_s_stream()
436 return ret; in __s5c73m3_s_stream()
440 ret = s5c73m3_isp_command(state, COMM_SENSOR_STREAMING, !!on); in __s5c73m3_s_stream()
441 if (ret) in __s5c73m3_s_stream()
442 return ret; in __s5c73m3_s_stream()
447 return ret; in __s5c73m3_s_stream()
450 ret = s5c73m3_set_frame_rate(state); in __s5c73m3_s_stream()
451 if (ret < 0) in __s5c73m3_s_stream()
452 v4l2_err(sd, "Error setting frame rate(%d)\n", ret); in __s5c73m3_s_stream()
461 int ret; in s5c73m3_oif_s_stream() local
464 ret = __s5c73m3_s_stream(state, sd, on); in s5c73m3_oif_s_stream()
467 return ret; in s5c73m3_oif_s_stream()
476 int ret = s5c73m3_read(state, 0x30100010, &reg); in s5c73m3_system_status_wait() local
477 if (ret < 0) in s5c73m3_system_status_wait()
478 return ret; in s5c73m3_system_status_wait()
489 int i, ret; in s5c73m3_read_fw_version() local
496 ret = s5c73m3_read(state, offset + i * 2, data); in s5c73m3_read_fw_version()
497 if (ret < 0) in s5c73m3_read_fw_version()
498 return ret; in s5c73m3_read_fw_version()
506 ret = s5c73m3_read(state, offset + 6 + i * 2, data); in s5c73m3_read_fw_version()
507 if (ret < 0) in s5c73m3_read_fw_version()
508 return ret; in s5c73m3_read_fw_version()
514 ret = s5c73m3_read(state, offset + 0x14, data); in s5c73m3_read_fw_version()
515 if (ret >= 0) { in s5c73m3_read_fw_version()
516 ret = s5c73m3_read(state, offset + 0x16, data + 1); in s5c73m3_read_fw_version()
517 if (ret >= 0) in s5c73m3_read_fw_version()
523 return ret; in s5c73m3_read_fw_version()
530 int ret; in s5c73m3_fw_update_from() local
536 ret = s5c73m3_isp_command(state, COMM_FW_UPDATE, 0); in s5c73m3_fw_update_from()
537 if (ret < 0) in s5c73m3_fw_update_from()
538 return ret; in s5c73m3_fw_update_from()
541 ret = s5c73m3_read(state, 0x00095906, &status); in s5c73m3_fw_update_from()
542 if (ret < 0) in s5c73m3_fw_update_from()
543 return ret; in s5c73m3_fw_update_from()
563 int ret; in s5c73m3_spi_boot() local
566 ret = s5c73m3_write(state, 0x30000004, 0xffff); in s5c73m3_spi_boot()
567 if (ret < 0) in s5c73m3_spi_boot()
568 return ret; in s5c73m3_spi_boot()
573 ret = s5c73m3_system_status_wait(state, 0x0c, 100, 3); in s5c73m3_spi_boot()
574 if (ret < 0) { in s5c73m3_spi_boot()
575 v4l2_err(sd, "booting failed: %d\n", ret); in s5c73m3_spi_boot()
576 return ret; in s5c73m3_spi_boot()
580 ret = s5c73m3_write(state, 0x30100014, 0x2146); in s5c73m3_spi_boot()
581 if (ret < 0) in s5c73m3_spi_boot()
582 return ret; in s5c73m3_spi_boot()
584 ret = s5c73m3_write(state, 0x30100010, 0x210c); in s5c73m3_spi_boot()
585 if (ret < 0) in s5c73m3_spi_boot()
586 return ret; in s5c73m3_spi_boot()
591 ret = s5c73m3_system_status_wait(state, 0x210d, 100, 300); in s5c73m3_spi_boot()
592 if (ret < 0) in s5c73m3_spi_boot()
593 v4l2_err(sd, "SPI not ready: %d\n", ret); in s5c73m3_spi_boot()
600 ret = s5c73m3_write(state, 0x30000004, 0xfffd); in s5c73m3_spi_boot()
601 if (ret < 0) in s5c73m3_spi_boot()
602 return ret; in s5c73m3_spi_boot()
605 ret = s5c73m3_write(state, 0x301000a4, 0x0183); in s5c73m3_spi_boot()
606 if (ret < 0) in s5c73m3_spi_boot()
607 return ret; in s5c73m3_spi_boot()
610 ret = s5c73m3_write(state, 0x30000004, 0xffff); in s5c73m3_spi_boot()
611 if (ret < 0 || !load_fw) in s5c73m3_spi_boot()
612 return ret; in s5c73m3_spi_boot()
614 ret = s5c73m3_read_fw_version(state); in s5c73m3_spi_boot()
615 if (ret < 0) in s5c73m3_spi_boot()
616 return ret; in s5c73m3_spi_boot()
619 ret = s5c73m3_fw_update_from(state); in s5c73m3_spi_boot()
623 return ret; in s5c73m3_spi_boot()
633 int ret; in s5c73m3_set_timing_register_for_vdd() local
637 ret = s5c73m3_write(state, regs[i][0], regs[i][1]); in s5c73m3_set_timing_register_for_vdd()
638 if (ret < 0) in s5c73m3_set_timing_register_for_vdd()
639 return ret; in s5c73m3_set_timing_register_for_vdd()
668 int ret; in s5c73m3_get_fw_version() local
671 ret = s5c73m3_write(state, 0x30000004, 0xffff); in s5c73m3_get_fw_version()
672 if (ret < 0) in s5c73m3_get_fw_version()
673 return ret; in s5c73m3_get_fw_version()
677 ret = s5c73m3_system_status_wait(state, 0x0c, 100, 3); in s5c73m3_get_fw_version()
678 if (ret < 0) { in s5c73m3_get_fw_version()
680 v4l2_err(sd, "%s: booting failed: %d\n", __func__, ret); in s5c73m3_get_fw_version()
681 return ret; in s5c73m3_get_fw_version()
685 ret = s5c73m3_write(state, 0x30100120, 0x0820); in s5c73m3_get_fw_version()
686 ret = s5c73m3_write(state, 0x30100124, 0x0820); in s5c73m3_get_fw_version()
689 ret = s5c73m3_write(state, 0x00010418, 0x0008); in s5c73m3_get_fw_version()
692 ret = s5c73m3_write(state, 0x30100014, 0x2146); in s5c73m3_get_fw_version()
693 if (ret < 0) in s5c73m3_get_fw_version()
694 return ret; in s5c73m3_get_fw_version()
695 ret = s5c73m3_write(state, 0x30100010, 0x230c); in s5c73m3_get_fw_version()
696 if (ret < 0) in s5c73m3_get_fw_version()
697 return ret; in s5c73m3_get_fw_version()
702 ret = s5c73m3_system_status_wait(state, 0x230e, 100, 300); in s5c73m3_get_fw_version()
703 if (ret < 0) in s5c73m3_get_fw_version()
704 v4l2_err(sd, "SPI not ready: %d\n", ret); in s5c73m3_get_fw_version()
707 ret = s5c73m3_write(state, 0x30000004, 0xfffd); in s5c73m3_get_fw_version()
708 if (ret < 0) in s5c73m3_get_fw_version()
709 return ret; in s5c73m3_get_fw_version()
712 ret = s5c73m3_write(state, 0x301000a4, 0x0183); in s5c73m3_get_fw_version()
713 if (ret < 0) in s5c73m3_get_fw_version()
714 return ret; in s5c73m3_get_fw_version()
718 ret = s5c73m3_read_fw_version(state); in s5c73m3_get_fw_version()
722 return ret; in s5c73m3_get_fw_version()
738 int i, ret; in s5c73m3_rom_boot() local
741 ret = s5c73m3_write(state, 0x30000004, 0xffff); in s5c73m3_rom_boot()
742 if (ret < 0) in s5c73m3_rom_boot()
743 return ret; in s5c73m3_rom_boot()
747 ret = s5c73m3_system_status_wait(state, 0x0c, 100, 4); in s5c73m3_rom_boot()
748 if (ret < 0) { in s5c73m3_rom_boot()
749 v4l2_err(sd, "Booting failed: %d\n", ret); in s5c73m3_rom_boot()
750 return ret; in s5c73m3_rom_boot()
754 ret = s5c73m3_write(state, boot_regs[i][0], boot_regs[i][1]); in s5c73m3_rom_boot()
755 if (ret < 0) in s5c73m3_rom_boot()
756 return ret; in s5c73m3_rom_boot()
761 ret = s5c73m3_system_status_wait(state, 0x230e, 1000, 150); in s5c73m3_rom_boot()
762 if (ret < 0) { in s5c73m3_rom_boot()
763 v4l2_err(sd, "Binary read failed: %d\n", ret); in s5c73m3_rom_boot()
764 return ret; in s5c73m3_rom_boot()
768 ret = s5c73m3_write(state, 0x30000004, 0xfffd); in s5c73m3_rom_boot()
769 if (ret < 0) in s5c73m3_rom_boot()
770 return ret; in s5c73m3_rom_boot()
772 ret = s5c73m3_write(state, 0x301000a4, 0x0183); in s5c73m3_rom_boot()
773 if (ret < 0) in s5c73m3_rom_boot()
774 return ret; in s5c73m3_rom_boot()
776 ret = s5c73m3_write(state, 0x30000004, 0xffff); in s5c73m3_rom_boot()
777 if (ret < 0) in s5c73m3_rom_boot()
778 return ret; in s5c73m3_rom_boot()
787 int ret; in s5c73m3_isp_init() local
792 ret = s5c73m3_i2c_write(state->i2c_client, AHB_MSB_ADDR_PTR, 0x3310); in s5c73m3_isp_init()
793 if (ret < 0) in s5c73m3_isp_init()
794 return ret; in s5c73m3_isp_init()
902 unsigned int ret, min_err = UINT_MAX; in __s5c73m3_set_frame_interval() local
917 ret = abs(iv->interval.numerator / 1000 - fr_time); in __s5c73m3_set_frame_interval()
918 if (ret < min_err) { in __s5c73m3_set_frame_interval()
920 min_err = ret; in __s5c73m3_set_frame_interval()
934 int ret; in s5c73m3_oif_s_frame_interval() local
944 ret = __s5c73m3_set_frame_interval(state, fi); in s5c73m3_oif_s_frame_interval()
945 if (!ret) { in s5c73m3_oif_s_frame_interval()
947 ret = s5c73m3_set_frame_rate(state); in s5c73m3_oif_s_frame_interval()
952 return ret; in s5c73m3_oif_s_frame_interval()
961 int ret = 0; in s5c73m3_oif_enum_frame_interval() local
971 ret = -EINVAL; in s5c73m3_oif_enum_frame_interval()
976 return ret; in s5c73m3_oif_enum_frame_interval()
1072 int ret = 0; in s5c73m3_set_fmt() local
1090 ret = -EBUSY; in s5c73m3_set_fmt()
1094 ret = -EBUSY; in s5c73m3_set_fmt()
1101 return ret; in s5c73m3_set_fmt()
1111 int ret = 0; in s5c73m3_oif_set_fmt() local
1137 ret = -EBUSY; in s5c73m3_oif_set_fmt()
1141 ret = -EBUSY; in s5c73m3_oif_set_fmt()
1148 return ret; in s5c73m3_oif_set_fmt()
1212 int ret; in s5c73m3_oif_enum_mbus_code() local
1214 ret = s5c73m3_oif_get_pad_code(code->pad, code->index); in s5c73m3_oif_enum_mbus_code()
1215 if (ret < 0) in s5c73m3_oif_enum_mbus_code()
1216 return ret; in s5c73m3_oif_enum_mbus_code()
1218 code->code = ret; in s5c73m3_oif_enum_mbus_code()
1374 int i, ret; in __s5c73m3_power_on() local
1377 ret = regulator_enable(state->supplies[i].consumer); in __s5c73m3_power_on()
1378 if (ret) in __s5c73m3_power_on()
1382 ret = clk_set_rate(state->clock, state->mclk_frequency); in __s5c73m3_power_on()
1383 if (ret < 0) in __s5c73m3_power_on()
1386 ret = clk_prepare_enable(state->clock); in __s5c73m3_power_on()
1387 if (ret < 0) in __s5c73m3_power_on()
1404 return ret; in __s5c73m3_power_on()
1409 int i, ret; in __s5c73m3_power_off() local
1423 ret = regulator_disable(state->supplies[i].consumer); in __s5c73m3_power_off()
1424 if (ret) in __s5c73m3_power_off()
1438 return ret; in __s5c73m3_power_off()
1444 int ret = 0; in s5c73m3_oif_set_power() local
1449 ret = __s5c73m3_power_on(state); in s5c73m3_oif_set_power()
1450 if (!ret) in s5c73m3_oif_set_power()
1451 ret = s5c73m3_isp_init(state); in s5c73m3_oif_set_power()
1452 if (!ret) { in s5c73m3_oif_set_power()
1457 ret = s5c73m3_set_af_softlanding(state); in s5c73m3_oif_set_power()
1458 if (!ret) in s5c73m3_oif_set_power()
1459 ret = __s5c73m3_power_off(state); in s5c73m3_oif_set_power()
1463 if (!ret) in s5c73m3_oif_set_power()
1470 return ret; in s5c73m3_oif_set_power()
1476 int ret; in s5c73m3_oif_registered() local
1478 ret = v4l2_device_register_subdev(sd->v4l2_dev, &state->sensor_sd); in s5c73m3_oif_registered()
1479 if (ret) { in s5c73m3_oif_registered()
1482 return ret; in s5c73m3_oif_registered()
1485 ret = media_entity_create_link(&state->sensor_sd.entity, in s5c73m3_oif_registered()
1489 ret = media_entity_create_link(&state->sensor_sd.entity, in s5c73m3_oif_registered()
1493 return ret; in s5c73m3_oif_registered()
1557 int ret, i; in s5c73m3_configure_gpios() local
1563 ret = devm_gpio_request_one(&c->dev, g[i].gpio, flags, in s5c73m3_configure_gpios()
1565 if (ret) { in s5c73m3_configure_gpios()
1568 return ret; in s5c73m3_configure_gpios()
1581 int ret, i; in s5c73m3_parse_gpios() local
1586 ret = of_get_named_gpio_flags(node, prop_names[i], in s5c73m3_parse_gpios()
1588 if (ret < 0) { in s5c73m3_parse_gpios()
1593 state->gpio[i].gpio = ret; in s5c73m3_parse_gpios()
1606 int ret; in s5c73m3_get_platform_data() local
1631 ret = s5c73m3_parse_gpios(state); in s5c73m3_get_platform_data()
1632 if (ret < 0) in s5c73m3_get_platform_data()
1666 int ret, i; in s5c73m3_probe() local
1673 ret = s5c73m3_get_platform_data(state); in s5c73m3_probe()
1674 if (ret < 0) in s5c73m3_probe()
1675 return ret; in s5c73m3_probe()
1693 ret = media_entity_init(&sd->entity, S5C73M3_NUM_PADS, in s5c73m3_probe()
1695 if (ret < 0) in s5c73m3_probe()
1696 return ret; in s5c73m3_probe()
1709 ret = media_entity_init(&oif_sd->entity, OIF_NUM_PADS, in s5c73m3_probe()
1711 if (ret < 0) in s5c73m3_probe()
1712 return ret; in s5c73m3_probe()
1714 ret = s5c73m3_configure_gpios(state); in s5c73m3_probe()
1715 if (ret) in s5c73m3_probe()
1721 ret = devm_regulator_bulk_get(dev, S5C73M3_MAX_SUPPLIES, in s5c73m3_probe()
1723 if (ret) { in s5c73m3_probe()
1728 ret = s5c73m3_init_controls(state); in s5c73m3_probe()
1729 if (ret) in s5c73m3_probe()
1744 ret = s5c73m3_register_spi_driver(state); in s5c73m3_probe()
1745 if (ret < 0) in s5c73m3_probe()
1750 ret = __s5c73m3_power_on(state); in s5c73m3_probe()
1751 if (ret < 0) in s5c73m3_probe()
1754 ret = s5c73m3_get_fw_version(state); in s5c73m3_probe()
1757 if (ret < 0) { in s5c73m3_probe()
1758 dev_err(dev, "Device detection failed: %d\n", ret); in s5c73m3_probe()
1762 ret = v4l2_async_register_subdev(oif_sd); in s5c73m3_probe()
1763 if (ret < 0) in s5c73m3_probe()
1773 return ret; in s5c73m3_probe()