Lines Matching refs:new_state
171 static int pmic8xxx_kp_read_matrix(struct pmic8xxx_kp *kp, u16 *new_state, in pmic8xxx_kp_read_matrix() argument
194 rc = pmic8xxx_kp_read_data(kp, new_state, KEYP_RECENT_DATA, in pmic8xxx_kp_read_matrix()
219 static void __pmic8xxx_kp_scan_matrix(struct pmic8xxx_kp *kp, u16 *new_state, in __pmic8xxx_kp_scan_matrix() argument
225 int bits_changed = new_state[row] ^ old_state[row]; in __pmic8xxx_kp_scan_matrix()
235 !(new_state[row] & (1 << col)) ? in __pmic8xxx_kp_scan_matrix()
243 !(new_state[row] & (1 << col))); in __pmic8xxx_kp_scan_matrix()
250 static bool pmic8xxx_detect_ghost_keys(struct pmic8xxx_kp *kp, u16 *new_state) in pmic8xxx_detect_ghost_keys() argument
257 row_state = (~new_state[row]) & in pmic8xxx_detect_ghost_keys()
276 u16 new_state[PM8XXX_MAX_ROWS]; in pmic8xxx_kp_scan_matrix() local
282 rc = pmic8xxx_kp_read_matrix(kp, new_state, NULL); in pmic8xxx_kp_scan_matrix()
287 if (pmic8xxx_detect_ghost_keys(kp, new_state)) in pmic8xxx_kp_scan_matrix()
289 __pmic8xxx_kp_scan_matrix(kp, new_state, kp->keystate); in pmic8xxx_kp_scan_matrix()
290 memcpy(kp->keystate, new_state, sizeof(new_state)); in pmic8xxx_kp_scan_matrix()
293 rc = pmic8xxx_kp_read_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
298 __pmic8xxx_kp_scan_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
299 memcpy(kp->keystate, new_state, sizeof(new_state)); in pmic8xxx_kp_scan_matrix()
303 rc = pmic8xxx_kp_read_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
307 __pmic8xxx_kp_scan_matrix(kp, new_state, old_state); in pmic8xxx_kp_scan_matrix()
308 memcpy(kp->keystate, new_state, sizeof(new_state)); in pmic8xxx_kp_scan_matrix()
329 u16 new_state[PM8XXX_MAX_ROWS]; in pmic8xxx_kp_stuck_irq() local
334 rc = pmic8xxx_kp_read_matrix(kp, new_state, old_state); in pmic8xxx_kp_stuck_irq()
340 __pmic8xxx_kp_scan_matrix(kp, new_state, kp->stuckstate); in pmic8xxx_kp_stuck_irq()