Lines Matching full:rc
135 int rc; in pcal64xxa_pin_configure() local
186 rc = drv_cfg->chip_api->pins_cfg_apply(&drv_cfg->i2c, &pins_cfg); in pcal64xxa_pin_configure()
187 if (rc == 0) { in pcal64xxa_pin_configure()
195 return rc; in pcal64xxa_pin_configure()
202 int rc; in pcal64xxa_process_input() local
208 rc = drv_cfg->chip_api->inputs_read(&drv_cfg->i2c, &int_sources, &input_port); in pcal64xxa_process_input()
210 if (rc != 0) { in pcal64xxa_process_input()
213 return rc; in pcal64xxa_process_input()
279 int rc; in pcal64xxa_port_get_raw() local
288 rc = pcal64xxa_process_input(dev, value); in pcal64xxa_port_get_raw()
290 return rc; in pcal64xxa_port_get_raw()
298 int rc; in pcal64xxa_port_set_raw() local
318 rc = drv_cfg->chip_api->outputs_write(&drv_cfg->i2c, output); in pcal64xxa_port_set_raw()
319 if (rc == 0) { in pcal64xxa_port_set_raw()
325 if (rc != 0) { in pcal64xxa_port_set_raw()
326 LOG_ERR("%s: failed to write output port: %d", dev->name, rc); in pcal64xxa_port_set_raw()
360 int rc; in pcal64xxa_pin_interrupt_configure() local
399 rc = drv_cfg->chip_api->triggers_apply(&drv_cfg->i2c, &triggers); in pcal64xxa_pin_interrupt_configure()
400 if (rc == 0) { in pcal64xxa_pin_interrupt_configure()
408 return rc; in pcal64xxa_pin_interrupt_configure()
422 int rc; in pcal64xxa_i2c_write() local
425 rc = i2c_reg_write_byte_dt(i2c, register_address, value); in pcal64xxa_i2c_write()
427 if (rc != 0) { in pcal64xxa_i2c_write()
428 LOG_ERR("unable to write to register 0x%02X, error %i", register_address, rc); in pcal64xxa_i2c_write()
431 return rc; in pcal64xxa_i2c_write()
437 int rc; in pcal64xxa_i2c_read() local
439 rc = i2c_reg_read_byte_dt(i2c, register_address, value); in pcal64xxa_i2c_read()
442 if (rc != 0) { in pcal64xxa_i2c_read()
443 LOG_ERR("unable to read from register 0x%02X, error %i", register_address, rc); in pcal64xxa_i2c_read()
446 return rc; in pcal64xxa_i2c_read()
453 int rc; in pcal6408a_pins_cfg_apply() local
455 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_PULL_UP_DOWN_SELECT, in pcal6408a_pins_cfg_apply()
457 if (rc != 0) { in pcal6408a_pins_cfg_apply()
461 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_PULL_UP_DOWN_ENABLE, in pcal6408a_pins_cfg_apply()
463 if (rc != 0) { in pcal6408a_pins_cfg_apply()
467 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_OUTPUT_PORT, (uint8_t)pins_cfg->outputs_high); in pcal6408a_pins_cfg_apply()
468 if (rc != 0) { in pcal6408a_pins_cfg_apply()
472 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_CONFIGURATION, in pcal6408a_pins_cfg_apply()
474 if (rc != 0) { in pcal6408a_pins_cfg_apply()
484 int rc; in pcal6408a_pins_cfg_read() local
487 rc = pcal64xxa_i2c_read(i2c, PCAL6408A_REG_PULL_UP_DOWN_SELECT, &value); in pcal6408a_pins_cfg_read()
488 if (rc != 0) { in pcal6408a_pins_cfg_read()
494 rc = pcal64xxa_i2c_read(i2c, PCAL6408A_REG_PULL_UP_DOWN_ENABLE, &value); in pcal6408a_pins_cfg_read()
495 if (rc != 0) { in pcal6408a_pins_cfg_read()
501 rc = pcal64xxa_i2c_read(i2c, PCAL6408A_REG_OUTPUT_PORT, &value); in pcal6408a_pins_cfg_read()
502 if (rc != 0) { in pcal6408a_pins_cfg_read()
508 rc = pcal64xxa_i2c_read(i2c, PCAL6408A_REG_CONFIGURATION, &value); in pcal6408a_pins_cfg_read()
509 if (rc != 0) { in pcal6408a_pins_cfg_read()
521 int rc; in pcal6408a_inputs_read() local
524 rc = pcal64xxa_i2c_read(i2c, PCAL6408A_REG_INTERRUPT_STATUS, &value); in pcal6408a_inputs_read()
525 if (rc != 0) { in pcal6408a_inputs_read()
532 rc = pcal64xxa_i2c_read(i2c, PCAL6408A_REG_INPUT_PORT, &value); in pcal6408a_inputs_read()
533 if (rc != 0) { in pcal6408a_inputs_read()
544 int rc; in pcal6408a_outputs_write() local
550 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_OUTPUT_PORT, (uint8_t)outputs); in pcal6408a_outputs_write()
552 if (rc != 0) { in pcal6408a_outputs_write()
553 LOG_ERR("failed to write output port: %d", rc); in pcal6408a_outputs_write()
563 int rc; in pcal6408a_triggers_apply() local
567 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_INPUT_LATCH, (uint8_t)input_latch); in pcal6408a_triggers_apply()
568 if (rc != 0) { in pcal6408a_triggers_apply()
569 LOG_ERR("failed to configure input latch: %d", rc); in pcal6408a_triggers_apply()
573 rc = pcal64xxa_i2c_write(i2c, PCAL6408A_REG_INTERRUPT_MASK, (uint8_t)interrupt_mask); in pcal6408a_triggers_apply()
574 if (rc != 0) { in pcal6408a_triggers_apply()
575 LOG_ERR("failed to configure interrupt mask: %d", rc); in pcal6408a_triggers_apply()
584 int rc; in pcal6408a_reset_state_apply() local
593 rc = pcal64xxa_i2c_write(i2c, reset_state[i][0], reset_state[i][1]); in pcal6408a_reset_state_apply()
594 if (rc != 0) { in pcal6408a_reset_state_apply()
595 LOG_ERR("failed to reset register %02x: %d", reset_state[i][0], rc); in pcal6408a_reset_state_apply()
617 int rc; in pcal6416a_pins_cfg_apply() local
619 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_PULL_UP_DOWN_SELECT_0, in pcal6416a_pins_cfg_apply()
621 if (rc != 0) { in pcal6416a_pins_cfg_apply()
625 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_PULL_UP_DOWN_SELECT_1, in pcal6416a_pins_cfg_apply()
627 if (rc != 0) { in pcal6416a_pins_cfg_apply()
631 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_PULL_UP_DOWN_ENABLE_0, in pcal6416a_pins_cfg_apply()
633 if (rc != 0) { in pcal6416a_pins_cfg_apply()
637 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_PULL_UP_DOWN_ENABLE_1, in pcal6416a_pins_cfg_apply()
639 if (rc != 0) { in pcal6416a_pins_cfg_apply()
643 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_OUTPUT_PORT_0, (uint8_t)pins_cfg->outputs_high); in pcal6416a_pins_cfg_apply()
644 if (rc != 0) { in pcal6416a_pins_cfg_apply()
648 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_OUTPUT_PORT_1, in pcal6416a_pins_cfg_apply()
650 if (rc != 0) { in pcal6416a_pins_cfg_apply()
654 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_CONFIGURATION_0, in pcal6416a_pins_cfg_apply()
656 if (rc != 0) { in pcal6416a_pins_cfg_apply()
660 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_CONFIGURATION_1, in pcal6416a_pins_cfg_apply()
662 if (rc != 0) { in pcal6416a_pins_cfg_apply()
672 int rc; in pcal6416a_pins_cfg_read() local
676 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_PULL_UP_DOWN_SELECT_0, &value_low); in pcal6416a_pins_cfg_read()
677 if (rc != 0) { in pcal6416a_pins_cfg_read()
681 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_PULL_UP_DOWN_SELECT_1, &value_high); in pcal6416a_pins_cfg_read()
682 if (rc != 0) { in pcal6416a_pins_cfg_read()
688 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_PULL_UP_DOWN_ENABLE_0, &value_low); in pcal6416a_pins_cfg_read()
689 if (rc != 0) { in pcal6416a_pins_cfg_read()
693 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_PULL_UP_DOWN_ENABLE_1, &value_high); in pcal6416a_pins_cfg_read()
694 if (rc != 0) { in pcal6416a_pins_cfg_read()
700 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_OUTPUT_PORT_0, &value_low); in pcal6416a_pins_cfg_read()
701 if (rc != 0) { in pcal6416a_pins_cfg_read()
705 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_OUTPUT_PORT_1, &value_high); in pcal6416a_pins_cfg_read()
706 if (rc != 0) { in pcal6416a_pins_cfg_read()
712 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_CONFIGURATION_0, &value_low); in pcal6416a_pins_cfg_read()
713 if (rc != 0) { in pcal6416a_pins_cfg_read()
717 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_CONFIGURATION_1, &value_high); in pcal6416a_pins_cfg_read()
718 if (rc != 0) { in pcal6416a_pins_cfg_read()
730 int rc; in pcal6416a_inputs_read() local
734 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_INTERRUPT_STATUS_0, &value_low); in pcal6416a_inputs_read()
735 if (rc != 0) { in pcal6416a_inputs_read()
739 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_INTERRUPT_STATUS_1, &value_high); in pcal6416a_inputs_read()
740 if (rc != 0) { in pcal6416a_inputs_read()
747 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_INPUT_PORT_0, &value_low); in pcal6416a_inputs_read()
748 if (rc != 0) { in pcal6416a_inputs_read()
752 rc = pcal64xxa_i2c_read(i2c, PCAL6416A_REG_INPUT_PORT_1, &value_high); in pcal6416a_inputs_read()
753 if (rc != 0) { in pcal6416a_inputs_read()
754 LOG_ERR("failed to read input port: %d", rc); in pcal6416a_inputs_read()
765 int rc; in pcal6416a_outputs_write() local
771 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_OUTPUT_PORT_0, (uint8_t)outputs); in pcal6416a_outputs_write()
773 if (rc != 0) { in pcal6416a_outputs_write()
774 LOG_ERR("failed to write output port: %d", rc); in pcal6416a_outputs_write()
778 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_OUTPUT_PORT_1, (uint8_t)(outputs >> 8)); in pcal6416a_outputs_write()
780 if (rc != 0) { in pcal6416a_outputs_write()
781 LOG_ERR("failed to write output port: %d", rc); in pcal6416a_outputs_write()
791 int rc; in pcal6416a_triggers_apply() local
795 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_INPUT_LATCH_0, (uint8_t)input_latch); in pcal6416a_triggers_apply()
796 if (rc != 0) { in pcal6416a_triggers_apply()
797 LOG_ERR("failed to configure input latch: %d", rc); in pcal6416a_triggers_apply()
801 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_INPUT_LATCH_1, (uint8_t)(input_latch >> 8)); in pcal6416a_triggers_apply()
802 if (rc != 0) { in pcal6416a_triggers_apply()
803 LOG_ERR("failed to configure input latch: %d", rc); in pcal6416a_triggers_apply()
807 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_INTERRUPT_MASK_0, (uint8_t)interrupt_mask); in pcal6416a_triggers_apply()
808 if (rc != 0) { in pcal6416a_triggers_apply()
809 LOG_ERR("failed to configure interrupt mask: %d", rc); in pcal6416a_triggers_apply()
813 rc = pcal64xxa_i2c_write(i2c, PCAL6416A_REG_INTERRUPT_MASK_1, in pcal6416a_triggers_apply()
815 if (rc != 0) { in pcal6416a_triggers_apply()
816 LOG_ERR("failed to configure interrupt mask: %d", rc); in pcal6416a_triggers_apply()
825 int rc; in pcal6416a_reset_state_apply() local
837 rc = pcal64xxa_i2c_write(i2c, reset_state[i][0], reset_state[i][1]); in pcal6416a_reset_state_apply()
838 if (rc != 0) { in pcal6416a_reset_state_apply()
839 LOG_ERR("failed to reset register %02x: %d", reset_state[i][0], rc); in pcal6416a_reset_state_apply()
867 int rc; in pcal64xxa_apply_initial_state() local
882 rc = gpio_pin_configure_dt(&drv_cfg->gpio_reset, GPIO_OUTPUT_ACTIVE); in pcal64xxa_apply_initial_state()
883 if (rc != 0) { in pcal64xxa_apply_initial_state()
884 LOG_ERR("%s: failed to configure RESET line: %d", dev->name, rc); in pcal64xxa_apply_initial_state()
891 rc = gpio_pin_set_dt(&drv_cfg->gpio_reset, 0); in pcal64xxa_apply_initial_state()
892 if (rc != 0) { in pcal64xxa_apply_initial_state()
893 LOG_ERR("%s: failed to deactivate RESET line: %d", dev->name, rc); in pcal64xxa_apply_initial_state()
900 rc = drv_cfg->chip_api->reset_state_apply(&drv_cfg->i2c); in pcal64xxa_apply_initial_state()
902 if (rc != 0) { in pcal64xxa_apply_initial_state()
904 return rc; in pcal64xxa_apply_initial_state()
909 rc = drv_cfg->chip_api->pins_cfg_apply(&drv_cfg->i2c, &initial_pins_cfg); in pcal64xxa_apply_initial_state()
910 if (rc != 0) { in pcal64xxa_apply_initial_state()
912 return rc; in pcal64xxa_apply_initial_state()
924 int rc; in pcal64xxa_read_state_from_registers() local
929 rc = drv_cfg->chip_api->pins_cfg_read(&drv_cfg->i2c, &drv_data->pins_cfg); in pcal64xxa_read_state_from_registers()
930 if (rc != 0) { in pcal64xxa_read_state_from_registers()
932 return rc; in pcal64xxa_read_state_from_registers()
945 int rc; in pcal64xxa_apply_initial_triggers() local
948 rc = drv_cfg->chip_api->triggers_apply(&drv_cfg->i2c, &initial_triggers); in pcal64xxa_apply_initial_triggers()
949 if (rc != 0) { in pcal64xxa_apply_initial_triggers()
951 return rc; in pcal64xxa_apply_initial_triggers()
964 int rc; in pcal64xxa_read_initial_inputs() local
967 rc = drv_cfg->chip_api->inputs_read(&drv_cfg->i2c, &int_sources, in pcal64xxa_read_initial_inputs()
969 if (rc != 0) { in pcal64xxa_read_initial_inputs()
971 return rc; in pcal64xxa_read_initial_inputs()
979 int rc; in pcal64xxa_reset_unlocked() local
981 rc = pcal64xxa_apply_initial_state(dev); in pcal64xxa_reset_unlocked()
982 if (rc != 0) { in pcal64xxa_reset_unlocked()
983 return rc; in pcal64xxa_reset_unlocked()
986 rc = pcal64xxa_apply_initial_triggers(dev); in pcal64xxa_reset_unlocked()
987 if (rc != 0) { in pcal64xxa_reset_unlocked()
988 return rc; in pcal64xxa_reset_unlocked()
991 rc = pcal64xxa_read_initial_inputs(dev); in pcal64xxa_reset_unlocked()
992 if (rc != 0) { in pcal64xxa_reset_unlocked()
993 return rc; in pcal64xxa_reset_unlocked()
1002 int rc; in pcal64xxa_reset() local
1005 rc = pcal64xxa_reset_unlocked(dev); in pcal64xxa_reset()
1008 return rc; in pcal64xxa_reset()
1015 int rc; in pcal64xxa_init() local
1041 rc = gpio_pin_configure_dt(&drv_cfg->gpio_interrupt, GPIO_INPUT); in pcal64xxa_init()
1042 if (rc != 0) { in pcal64xxa_init()
1043 LOG_ERR("%s: failed to configure INT line: %d", dev->name, rc); in pcal64xxa_init()
1047 rc = gpio_pin_interrupt_configure_dt(&drv_cfg->gpio_interrupt, in pcal64xxa_init()
1049 if (rc != 0) { in pcal64xxa_init()
1050 LOG_ERR("%s: failed to configure INT interrupt: %d", dev->name, rc); in pcal64xxa_init()
1056 rc = gpio_add_callback(drv_cfg->gpio_interrupt.port, &drv_data->int_gpio_cb); in pcal64xxa_init()
1057 if (rc != 0) { in pcal64xxa_init()
1058 LOG_ERR("%s: failed to add INT callback: %d", dev->name, rc); in pcal64xxa_init()
1064 rc = pcal64xxa_apply_initial_state(dev); in pcal64xxa_init()
1065 if (rc != 0) { in pcal64xxa_init()
1066 return rc; in pcal64xxa_init()
1069 rc = pcal64xxa_read_state_from_registers(dev); in pcal64xxa_init()
1070 if (rc != 0) { in pcal64xxa_init()
1071 return rc; in pcal64xxa_init()
1075 rc = pcal64xxa_apply_initial_triggers(dev); in pcal64xxa_init()
1076 if (rc != 0) { in pcal64xxa_init()
1077 return rc; in pcal64xxa_init()
1080 rc = pcal64xxa_read_initial_inputs(dev); in pcal64xxa_init()
1081 if (rc != 0) { in pcal64xxa_init()
1082 return rc; in pcal64xxa_init()