Lines Matching defs:keypad

93 	struct ht16k33_keypad keypad;
338 * This gets the keys from keypad and reports it to input subsystem.
341 static bool ht16k33_keypad_scan(struct ht16k33_keypad *keypad)
343 const unsigned short *keycodes = keypad->dev->keycode;
351 rc = i2c_smbus_read_i2c_block_data(keypad->client, 0x40,
354 dev_err(&keypad->client->dev,
359 for (col = 0; col < keypad->cols; col++) {
363 bits_changed = keypad->last_key_state[col] ^ new_state[col];
366 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift);
367 input_event(keypad->dev, EV_MSC, MSC_SCAN, code);
368 input_report_key(keypad->dev, keycodes[code],
372 input_sync(keypad->dev);
373 memcpy(keypad->last_key_state, new_state, sizeof(u16) * keypad->cols);
380 struct ht16k33_keypad *keypad = dev;
383 wait_event_timeout(keypad->wait, keypad->stopped,
384 msecs_to_jiffies(keypad->debounce_ms));
385 if (keypad->stopped)
387 } while (ht16k33_keypad_scan(keypad));
394 struct ht16k33_keypad *keypad = input_get_drvdata(dev);
396 keypad->stopped = false;
398 enable_irq(keypad->client->irq);
405 struct ht16k33_keypad *keypad = input_get_drvdata(dev);
407 keypad->stopped = true;
409 wake_up(&keypad->wait);
410 disable_irq(keypad->client->irq);
506 struct ht16k33_keypad *keypad)
513 keypad->client = client;
514 init_waitqueue_head(&keypad->wait);
516 keypad->dev = devm_input_allocate_device(dev);
517 if (!keypad->dev)
520 input_set_drvdata(keypad->dev, keypad);
522 keypad->dev->name = DRIVER_NAME"-keypad";
523 keypad->dev->id.bustype = BUS_I2C;
524 keypad->dev->open = ht16k33_keypad_start;
525 keypad->dev->close = ht16k33_keypad_stop;
528 __set_bit(EV_REP, keypad->dev->evbit);
531 &keypad->debounce_ms);
547 keypad->rows = rows;
548 keypad->cols = cols;
549 keypad->row_shift = get_count_order(cols);
552 keypad->dev);
561 DRIVER_NAME, keypad);
568 ht16k33_keypad_stop(keypad->dev);
570 return input_register_device(keypad->dev);
714 err = ht16k33_keypad_probe(client, &priv->keypad);