Lines Matching full:row
86 static bool row_asserted(struct matrix_keypad *keypad, int row) in row_asserted() argument
88 return gpiod_get_value_cansleep(keypad->row_gpios[row]); in row_asserted()
109 int row; in read_row_state() local
112 for (row = 0; row < keypad->num_row_gpios; row++) in read_row_state()
113 row_state |= row_asserted(keypad, row) ? BIT(row) : 0; in read_row_state()
127 int row, col, code; in matrix_keypad_scan() local
130 /* read initial row state to detect changes between scan */ in matrix_keypad_scan()
138 for (row = 0; row < keypad->num_row_gpios; row++) in matrix_keypad_scan()
139 gpiod_direction_input(keypad->row_gpios[row]); in matrix_keypad_scan()
141 /* assert each column and read the row status out */ in matrix_keypad_scan()
158 for (row = 0; row < keypad->num_row_gpios; row++) { in matrix_keypad_scan()
159 if (!(bits_changed & BIT(row))) in matrix_keypad_scan()
162 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in matrix_keypad_scan()
166 new_state[col] & (1 << row)); in matrix_keypad_scan()
181 /* read new row state and detect if value has changed */ in matrix_keypad_scan()
307 nrow = gpiod_count(&pdev->dev, "row"); in matrix_keypad_init_gpio()
310 dev_err(&pdev->dev, "missing row or column GPIOs\n"); in matrix_keypad_init_gpio()
340 keypad->row_gpios[i] = devm_gpiod_get_index(&pdev->dev, "row", in matrix_keypad_init_gpio()
345 "failed to request GPIO for ROW%d: %d\n", in matrix_keypad_init_gpio()
383 "Unable to acquire interrupt for row %i: %d\n", in matrix_keypad_setup_interrupts()