Lines Matching refs:new_state

179 static int pmic8xxx_kp_read_matrix(struct pmic8xxx_kp *kp, u16 *new_state,  in pmic8xxx_kp_read_matrix()  argument
202 rc = pmic8xxx_kp_read_data(kp, new_state, KEYP_RECENT_DATA, in pmic8xxx_kp_read_matrix()
227 static void __pmic8xxx_kp_scan_matrix(struct pmic8xxx_kp *kp, u16 *new_state, in __pmic8xxx_kp_scan_matrix() argument
233 int bits_changed = new_state[row] ^ old_state[row]; in __pmic8xxx_kp_scan_matrix()
243 !(new_state[row] & (1 << col)) ? in __pmic8xxx_kp_scan_matrix()
251 !(new_state[row] & (1 << col))); in __pmic8xxx_kp_scan_matrix()
258 static bool pmic8xxx_detect_ghost_keys(struct pmic8xxx_kp *kp, u16 *new_state) in pmic8xxx_detect_ghost_keys() argument
265 row_state = (~new_state[row]) & in pmic8xxx_detect_ghost_keys()
284 u16 new_state[PM8XXX_MAX_ROWS]; in pmic8xxx_kp_scan_matrix() local
290 rc = pmic8xxx_kp_read_matrix(kp, new_state, NULL); in pmic8xxx_kp_scan_matrix()
295 if (pmic8xxx_detect_ghost_keys(kp, new_state)) in pmic8xxx_kp_scan_matrix()
297 __pmic8xxx_kp_scan_matrix(kp, new_state, kp->keystate); in pmic8xxx_kp_scan_matrix()
298 memcpy(kp->keystate, new_state, sizeof(new_state)); in pmic8xxx_kp_scan_matrix()
301 rc = pmic8xxx_kp_read_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
306 __pmic8xxx_kp_scan_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
307 memcpy(kp->keystate, new_state, sizeof(new_state)); in pmic8xxx_kp_scan_matrix()
311 rc = pmic8xxx_kp_read_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
315 __pmic8xxx_kp_scan_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
316 memcpy(kp->keystate, new_state, sizeof(new_state)); in pmic8xxx_kp_scan_matrix()
337 u16 new_state[PM8XXX_MAX_ROWS]; in pmic8xxx_kp_stuck_irq() local
342 rc = pmic8xxx_kp_read_matrix(kp, new_state, old_state); in pmic8xxx_kp_stuck_irq()
348 __pmic8xxx_kp_scan_matrix(kp, new_state, kp->stuckstate); in pmic8xxx_kp_stuck_irq()