max7360_keypad
struct max7360_keypad *max7360_keypad = input_get_drvdata(pdev);
struct device *dev = max7360_keypad->input->dev.parent;
error = regmap_write_bits(max7360_keypad->regmap, MAX7360_REG_CONFIG, MAX7360_CFG_SLEEP, 0);
static int max7360_keypad_hw_init(struct max7360_keypad *max7360_keypad)
struct device *dev = max7360_keypad->input->dev.parent;
val = max7360_keypad->debounce_ms - MAX7360_DEBOUNCE_MIN;
error = regmap_write_bits(max7360_keypad->regmap, MAX7360_REG_DEBOUNCE,
error = regmap_write_bits(max7360_keypad->regmap, MAX7360_REG_INTERRUPT,
static int max7360_keypad_build_keymap(struct max7360_keypad *max7360_keypad)
struct input_dev *input_dev = max7360_keypad->input;
max_keys = max7360_keypad->cols * max7360_keypad->rows;
max7360_keypad->rows, max7360_keypad->cols,
max7360_keypad->keycodes, max7360_keypad->input);
struct max7360_keypad *max7360_keypad,
error = matrix_keypad_parse_properties(dev->parent, &max7360_keypad->rows,
&max7360_keypad->cols);
if (!max7360_keypad->rows || !max7360_keypad->cols ||
max7360_keypad->rows > MAX7360_MAX_KEY_ROWS ||
max7360_keypad->cols > MAX7360_MAX_KEY_COLS) {
max7360_keypad->cols, max7360_keypad->rows);
max7360_keypad->debounce_ms = MAX7360_DEBOUNCE_MIN;
&max7360_keypad->debounce_ms);
max7360_keypad->debounce_ms);
if (!in_range(max7360_keypad->debounce_ms, MAX7360_DEBOUNCE_MIN,
max7360_keypad->debounce_ms, MAX7360_DEBOUNCE_MIN, MAX7360_DEBOUNCE_MAX);
struct max7360_keypad *max7360_keypad;
max7360_keypad = devm_kzalloc(dev, sizeof(*max7360_keypad), GFP_KERNEL);
if (!max7360_keypad)
max7360_keypad->regmap = regmap;
error = max7360_keypad_parse_fw(dev, max7360_keypad, &autorepeat);
max7360_keypad->input = input;
error = max7360_keypad_build_keymap(max7360_keypad);
input_set_drvdata(input, max7360_keypad);
"max7360-keypad", max7360_keypad);
error = max7360_keypad_hw_init(max7360_keypad);
struct max7360_keypad *max7360_keypad = data;
struct device *dev = max7360_keypad->input->dev.parent;
error = regmap_read(max7360_keypad->regmap, MAX7360_REG_KEYFIFO, &val);
error = regmap_read_poll_timeout(max7360_keypad->regmap, MAX7360_REG_KEYFIFO,
code = MATRIX_SCAN_CODE(row, col, get_count_order(max7360_keypad->cols));
input_event(max7360_keypad->input, EV_MSC, MSC_SCAN, code);
input_report_key(max7360_keypad->input, max7360_keypad->keycodes[code], !release);
input_sync(max7360_keypad->input);
struct max7360_keypad *max7360_keypad = input_get_drvdata(pdev);
struct device *dev = max7360_keypad->input->dev.parent;
error = regmap_write_bits(max7360_keypad->regmap, MAX7360_REG_CONFIG,