Lines Matching full:triggers
93 struct pcal64xxa_triggers triggers; member
102 const struct pcal64xxa_triggers *triggers);
227 int_sources |= ((input_port ^ drv_data->input_port_last) & ~drv_data->triggers.masked); in pcal64xxa_process_input()
232 pcal64xxa_data_t dual_edge_triggers = drv_data->triggers.dual_edge; in pcal64xxa_process_input()
234 ~dual_edge_triggers & drv_data->triggers.on_low; in pcal64xxa_process_input()
237 /* For dual edge triggers, react to all state changes. */ in pcal64xxa_process_input()
239 /* For single edge triggers, fire callbacks only for the pins in pcal64xxa_process_input()
359 struct pcal64xxa_triggers triggers; in pcal64xxa_pin_interrupt_configure() local
379 triggers = drv_data->triggers; in pcal64xxa_pin_interrupt_configure()
382 triggers.masked |= BIT(pin); in pcal64xxa_pin_interrupt_configure()
384 triggers.masked &= ~BIT(pin); in pcal64xxa_pin_interrupt_configure()
388 triggers.dual_edge |= BIT(pin); in pcal64xxa_pin_interrupt_configure()
390 triggers.dual_edge &= ~BIT(pin); in pcal64xxa_pin_interrupt_configure()
393 triggers.on_low |= BIT(pin); in pcal64xxa_pin_interrupt_configure()
395 triggers.on_low &= ~BIT(pin); in pcal64xxa_pin_interrupt_configure()
399 rc = drv_cfg->chip_api->triggers_apply(&drv_cfg->i2c, &triggers); in pcal64xxa_pin_interrupt_configure()
401 drv_data->triggers = triggers; in pcal64xxa_pin_interrupt_configure()
403 LOG_ERR("%s: failed to apply triggers", dev->name); in pcal64xxa_pin_interrupt_configure()
561 const struct pcal64xxa_triggers *triggers) in pcal6408a_triggers_apply() argument
564 uint8_t input_latch = ~triggers->masked; in pcal6408a_triggers_apply()
565 uint8_t interrupt_mask = triggers->masked; in pcal6408a_triggers_apply()
789 const struct pcal64xxa_triggers *triggers) in pcal6416a_triggers_apply() argument
792 pcal64xxa_data_t input_latch = ~triggers->masked; in pcal6416a_triggers_apply()
793 pcal64xxa_data_t interrupt_mask = triggers->masked; in pcal6416a_triggers_apply()
950 LOG_ERR("%s: failed to apply triggers", dev->name); in pcal64xxa_apply_initial_triggers()
954 drv_data->triggers = initial_triggers; in pcal64xxa_apply_initial_triggers()