keypad_data        85 drivers/input/keyboard/omap4-keypad.c static int kbd_readl(struct omap4_keypad *keypad_data, u32 offset)
keypad_data        87 drivers/input/keyboard/omap4-keypad.c 	return __raw_readl(keypad_data->base +
keypad_data        88 drivers/input/keyboard/omap4-keypad.c 				keypad_data->reg_offset + offset);
keypad_data        91 drivers/input/keyboard/omap4-keypad.c static void kbd_writel(struct omap4_keypad *keypad_data, u32 offset, u32 value)
keypad_data        94 drivers/input/keyboard/omap4-keypad.c 		     keypad_data->base + keypad_data->reg_offset + offset);
keypad_data        97 drivers/input/keyboard/omap4-keypad.c static int kbd_read_irqreg(struct omap4_keypad *keypad_data, u32 offset)
keypad_data        99 drivers/input/keyboard/omap4-keypad.c 	return __raw_readl(keypad_data->base +
keypad_data       100 drivers/input/keyboard/omap4-keypad.c 				keypad_data->irqreg_offset + offset);
keypad_data       103 drivers/input/keyboard/omap4-keypad.c static void kbd_write_irqreg(struct omap4_keypad *keypad_data,
keypad_data       107 drivers/input/keyboard/omap4-keypad.c 		     keypad_data->base + keypad_data->irqreg_offset + offset);
keypad_data       114 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = dev_id;
keypad_data       116 drivers/input/keyboard/omap4-keypad.c 	if (kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS))
keypad_data       124 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = dev_id;
keypad_data       125 drivers/input/keyboard/omap4-keypad.c 	struct input_dev *input_dev = keypad_data->input;
keypad_data       126 drivers/input/keyboard/omap4-keypad.c 	unsigned char key_state[ARRAY_SIZE(keypad_data->key_state)];
keypad_data       130 drivers/input/keyboard/omap4-keypad.c 	*new_state = kbd_readl(keypad_data, OMAP4_KBD_FULLCODE31_0);
keypad_data       131 drivers/input/keyboard/omap4-keypad.c 	*(new_state + 1) = kbd_readl(keypad_data, OMAP4_KBD_FULLCODE63_32);
keypad_data       133 drivers/input/keyboard/omap4-keypad.c 	for (row = 0; row < keypad_data->rows; row++) {
keypad_data       134 drivers/input/keyboard/omap4-keypad.c 		changed = key_state[row] ^ keypad_data->key_state[row];
keypad_data       138 drivers/input/keyboard/omap4-keypad.c 		for (col = 0; col < keypad_data->cols; col++) {
keypad_data       141 drivers/input/keyboard/omap4-keypad.c 						keypad_data->row_shift);
keypad_data       144 drivers/input/keyboard/omap4-keypad.c 						 keypad_data->keymap[code],
keypad_data       152 drivers/input/keyboard/omap4-keypad.c 	memcpy(keypad_data->key_state, key_state,
keypad_data       153 drivers/input/keyboard/omap4-keypad.c 		sizeof(keypad_data->key_state));
keypad_data       156 drivers/input/keyboard/omap4-keypad.c 	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,
keypad_data       157 drivers/input/keyboard/omap4-keypad.c 			 kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));
keypad_data       164 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = input_get_drvdata(input);
keypad_data       168 drivers/input/keyboard/omap4-keypad.c 	disable_irq(keypad_data->irq);
keypad_data       170 drivers/input/keyboard/omap4-keypad.c 	kbd_writel(keypad_data, OMAP4_KBD_CTRL,
keypad_data       173 drivers/input/keyboard/omap4-keypad.c 	kbd_writel(keypad_data, OMAP4_KBD_DEBOUNCINGTIME,
keypad_data       176 drivers/input/keyboard/omap4-keypad.c 	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,
keypad_data       177 drivers/input/keyboard/omap4-keypad.c 			 kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));
keypad_data       178 drivers/input/keyboard/omap4-keypad.c 	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,
keypad_data       181 drivers/input/keyboard/omap4-keypad.c 	kbd_writel(keypad_data, OMAP4_KBD_WAKEUPENABLE,
keypad_data       184 drivers/input/keyboard/omap4-keypad.c 	enable_irq(keypad_data->irq);
keypad_data       191 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = input_get_drvdata(input);
keypad_data       193 drivers/input/keyboard/omap4-keypad.c 	disable_irq(keypad_data->irq);
keypad_data       196 drivers/input/keyboard/omap4-keypad.c 	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,
keypad_data       198 drivers/input/keyboard/omap4-keypad.c 	kbd_writel(keypad_data, OMAP4_KBD_WAKEUPENABLE, 0);
keypad_data       201 drivers/input/keyboard/omap4-keypad.c 	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,
keypad_data       202 drivers/input/keyboard/omap4-keypad.c 			 kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));
keypad_data       204 drivers/input/keyboard/omap4-keypad.c 	enable_irq(keypad_data->irq);
keypad_data       210 drivers/input/keyboard/omap4-keypad.c 				 struct omap4_keypad *keypad_data)
keypad_data       215 drivers/input/keyboard/omap4-keypad.c 	err = matrix_keypad_parse_properties(dev, &keypad_data->rows,
keypad_data       216 drivers/input/keyboard/omap4-keypad.c 					     &keypad_data->cols);
keypad_data       221 drivers/input/keyboard/omap4-keypad.c 		keypad_data->no_autorepeat = true;
keypad_data       228 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data;
keypad_data       248 drivers/input/keyboard/omap4-keypad.c 	keypad_data = kzalloc(sizeof(struct omap4_keypad), GFP_KERNEL);
keypad_data       249 drivers/input/keyboard/omap4-keypad.c 	if (!keypad_data) {
keypad_data       254 drivers/input/keyboard/omap4-keypad.c 	keypad_data->irq = irq;
keypad_data       256 drivers/input/keyboard/omap4-keypad.c 	error = omap4_keypad_parse_dt(&pdev->dev, keypad_data);
keypad_data       267 drivers/input/keyboard/omap4-keypad.c 	keypad_data->base = ioremap(res->start, resource_size(res));
keypad_data       268 drivers/input/keyboard/omap4-keypad.c 	if (!keypad_data->base) {
keypad_data       285 drivers/input/keyboard/omap4-keypad.c 	rev = __raw_readl(keypad_data->base + OMAP4_KBD_REVISION);
keypad_data       290 drivers/input/keyboard/omap4-keypad.c 		keypad_data->reg_offset = 0x00;
keypad_data       291 drivers/input/keyboard/omap4-keypad.c 		keypad_data->irqreg_offset = 0x00;
keypad_data       294 drivers/input/keyboard/omap4-keypad.c 		keypad_data->reg_offset = 0x10;
keypad_data       295 drivers/input/keyboard/omap4-keypad.c 		keypad_data->irqreg_offset = 0x0c;
keypad_data       305 drivers/input/keyboard/omap4-keypad.c 	keypad_data->input = input_dev = input_allocate_device();
keypad_data       322 drivers/input/keyboard/omap4-keypad.c 	if (!keypad_data->no_autorepeat)
keypad_data       325 drivers/input/keyboard/omap4-keypad.c 	input_set_drvdata(input_dev, keypad_data);
keypad_data       327 drivers/input/keyboard/omap4-keypad.c 	keypad_data->row_shift = get_count_order(keypad_data->cols);
keypad_data       328 drivers/input/keyboard/omap4-keypad.c 	max_keys = keypad_data->rows << keypad_data->row_shift;
keypad_data       329 drivers/input/keyboard/omap4-keypad.c 	keypad_data->keymap = kcalloc(max_keys,
keypad_data       330 drivers/input/keyboard/omap4-keypad.c 				      sizeof(keypad_data->keymap[0]),
keypad_data       332 drivers/input/keyboard/omap4-keypad.c 	if (!keypad_data->keymap) {
keypad_data       339 drivers/input/keyboard/omap4-keypad.c 					   keypad_data->rows, keypad_data->cols,
keypad_data       340 drivers/input/keyboard/omap4-keypad.c 					   keypad_data->keymap, input_dev);
keypad_data       346 drivers/input/keyboard/omap4-keypad.c 	error = request_threaded_irq(keypad_data->irq, omap4_keypad_irq_handler,
keypad_data       348 drivers/input/keyboard/omap4-keypad.c 				     "omap4-keypad", keypad_data);
keypad_data       357 drivers/input/keyboard/omap4-keypad.c 	error = input_register_device(keypad_data->input);
keypad_data       363 drivers/input/keyboard/omap4-keypad.c 	platform_set_drvdata(pdev, keypad_data);
keypad_data       368 drivers/input/keyboard/omap4-keypad.c 	free_irq(keypad_data->irq, keypad_data);
keypad_data       370 drivers/input/keyboard/omap4-keypad.c 	kfree(keypad_data->keymap);
keypad_data       376 drivers/input/keyboard/omap4-keypad.c 	iounmap(keypad_data->base);
keypad_data       380 drivers/input/keyboard/omap4-keypad.c 	kfree(keypad_data);
keypad_data       386 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = platform_get_drvdata(pdev);
keypad_data       389 drivers/input/keyboard/omap4-keypad.c 	free_irq(keypad_data->irq, keypad_data);
keypad_data       393 drivers/input/keyboard/omap4-keypad.c 	input_unregister_device(keypad_data->input);
keypad_data       395 drivers/input/keyboard/omap4-keypad.c 	iounmap(keypad_data->base);
keypad_data       400 drivers/input/keyboard/omap4-keypad.c 	kfree(keypad_data->keymap);
keypad_data       401 drivers/input/keyboard/omap4-keypad.c 	kfree(keypad_data);
keypad_data       416 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = platform_get_drvdata(pdev);
keypad_data       420 drivers/input/keyboard/omap4-keypad.c 		error = enable_irq_wake(keypad_data->irq);
keypad_data       422 drivers/input/keyboard/omap4-keypad.c 			keypad_data->irq_wake_enabled = true;
keypad_data       431 drivers/input/keyboard/omap4-keypad.c 	struct omap4_keypad *keypad_data = platform_get_drvdata(pdev);
keypad_data       433 drivers/input/keyboard/omap4-keypad.c 	if (device_may_wakeup(&pdev->dev) && keypad_data->irq_wake_enabled) {
keypad_data       434 drivers/input/keyboard/omap4-keypad.c 		disable_irq_wake(keypad_data->irq);
keypad_data       435 drivers/input/keyboard/omap4-keypad.c 		keypad_data->irq_wake_enabled = false;
keypad_data       100 drivers/input/keyboard/st-keyscan.c static int keypad_matrix_key_parse_dt(struct st_keyscan *keypad_data)
keypad_data       102 drivers/input/keyboard/st-keyscan.c 	struct device *dev = keypad_data->input_dev->dev.parent;
keypad_data       106 drivers/input/keyboard/st-keyscan.c 	error = matrix_keypad_parse_properties(dev, &keypad_data->n_rows,
keypad_data       107 drivers/input/keyboard/st-keyscan.c 					       &keypad_data->n_cols);
keypad_data       113 drivers/input/keyboard/st-keyscan.c 	of_property_read_u32(np, "st,debounce-us", &keypad_data->debounce_us);
keypad_data       116 drivers/input/keyboard/st-keyscan.c 		keypad_data->n_rows, keypad_data->n_cols,
keypad_data       117 drivers/input/keyboard/st-keyscan.c 		keypad_data->debounce_us);
keypad_data       124 drivers/input/keyboard/st-keyscan.c 	struct st_keyscan *keypad_data;
keypad_data       134 drivers/input/keyboard/st-keyscan.c 	keypad_data = devm_kzalloc(&pdev->dev, sizeof(*keypad_data),
keypad_data       136 drivers/input/keyboard/st-keyscan.c 	if (!keypad_data)
keypad_data       153 drivers/input/keyboard/st-keyscan.c 	keypad_data->input_dev = input_dev;
keypad_data       155 drivers/input/keyboard/st-keyscan.c 	error = keypad_matrix_key_parse_dt(keypad_data);
keypad_data       160 drivers/input/keyboard/st-keyscan.c 					   keypad_data->n_rows,
keypad_data       161 drivers/input/keyboard/st-keyscan.c 					   keypad_data->n_cols,
keypad_data       168 drivers/input/keyboard/st-keyscan.c 	input_set_drvdata(input_dev, keypad_data);
keypad_data       171 drivers/input/keyboard/st-keyscan.c 	keypad_data->base = devm_ioremap_resource(&pdev->dev, res);
keypad_data       172 drivers/input/keyboard/st-keyscan.c 	if (IS_ERR(keypad_data->base))
keypad_data       173 drivers/input/keyboard/st-keyscan.c 		return PTR_ERR(keypad_data->base);
keypad_data       175 drivers/input/keyboard/st-keyscan.c 	keypad_data->clk = devm_clk_get(&pdev->dev, NULL);
keypad_data       176 drivers/input/keyboard/st-keyscan.c 	if (IS_ERR(keypad_data->clk)) {
keypad_data       178 drivers/input/keyboard/st-keyscan.c 		return PTR_ERR(keypad_data->clk);
keypad_data       181 drivers/input/keyboard/st-keyscan.c 	error = clk_enable(keypad_data->clk);
keypad_data       187 drivers/input/keyboard/st-keyscan.c 	keyscan_stop(keypad_data);
keypad_data       189 drivers/input/keyboard/st-keyscan.c 	keypad_data->irq = platform_get_irq(pdev, 0);
keypad_data       190 drivers/input/keyboard/st-keyscan.c 	if (keypad_data->irq < 0)
keypad_data       193 drivers/input/keyboard/st-keyscan.c 	error = devm_request_irq(&pdev->dev, keypad_data->irq, keyscan_isr, 0,
keypad_data       194 drivers/input/keyboard/st-keyscan.c 				 pdev->name, keypad_data);
keypad_data       206 drivers/input/keyboard/st-keyscan.c 	platform_set_drvdata(pdev, keypad_data);
keypad_data       122 drivers/input/keyboard/tca8418_keypad.c static int tca8418_write_byte(struct tca8418_keypad *keypad_data,
keypad_data       127 drivers/input/keyboard/tca8418_keypad.c 	error = i2c_smbus_write_byte_data(keypad_data->client, reg, val);
keypad_data       129 drivers/input/keyboard/tca8418_keypad.c 		dev_err(&keypad_data->client->dev,
keypad_data       141 drivers/input/keyboard/tca8418_keypad.c static int tca8418_read_byte(struct tca8418_keypad *keypad_data,
keypad_data       146 drivers/input/keyboard/tca8418_keypad.c 	error = i2c_smbus_read_byte_data(keypad_data->client, reg);
keypad_data       148 drivers/input/keyboard/tca8418_keypad.c 		dev_err(&keypad_data->client->dev,
keypad_data       159 drivers/input/keyboard/tca8418_keypad.c static void tca8418_read_keypad(struct tca8418_keypad *keypad_data)
keypad_data       161 drivers/input/keyboard/tca8418_keypad.c 	struct input_dev *input = keypad_data->input;
keypad_data       167 drivers/input/keyboard/tca8418_keypad.c 		error = tca8418_read_byte(keypad_data, REG_KEY_EVENT_A, &reg);
keypad_data       169 drivers/input/keyboard/tca8418_keypad.c 			dev_err(&keypad_data->client->dev,
keypad_data       187 drivers/input/keyboard/tca8418_keypad.c 		code = MATRIX_SCAN_CODE(row, col, keypad_data->row_shift);
keypad_data       201 drivers/input/keyboard/tca8418_keypad.c 	struct tca8418_keypad *keypad_data = dev_id;
keypad_data       205 drivers/input/keyboard/tca8418_keypad.c 	error = tca8418_read_byte(keypad_data, REG_INT_STAT, &reg);
keypad_data       207 drivers/input/keyboard/tca8418_keypad.c 		dev_err(&keypad_data->client->dev,
keypad_data       216 drivers/input/keyboard/tca8418_keypad.c 		dev_warn(&keypad_data->client->dev, "overflow occurred\n");
keypad_data       219 drivers/input/keyboard/tca8418_keypad.c 		tca8418_read_keypad(keypad_data);
keypad_data       223 drivers/input/keyboard/tca8418_keypad.c 	error = tca8418_write_byte(keypad_data, REG_INT_STAT, reg);
keypad_data       225 drivers/input/keyboard/tca8418_keypad.c 		dev_err(&keypad_data->client->dev,
keypad_data       234 drivers/input/keyboard/tca8418_keypad.c static int tca8418_configure(struct tca8418_keypad *keypad_data,
keypad_data       244 drivers/input/keyboard/tca8418_keypad.c 	error |= tca8418_write_byte(keypad_data, REG_KP_GPIO1, reg);
keypad_data       245 drivers/input/keyboard/tca8418_keypad.c 	error |= tca8418_write_byte(keypad_data, REG_KP_GPIO2, reg >> 8);
keypad_data       246 drivers/input/keyboard/tca8418_keypad.c 	error |= tca8418_write_byte(keypad_data, REG_KP_GPIO3, reg >> 16);
keypad_data       249 drivers/input/keyboard/tca8418_keypad.c 	error |= tca8418_write_byte(keypad_data, REG_DEBOUNCE_DIS1, reg);
keypad_data       250 drivers/input/keyboard/tca8418_keypad.c 	error |= tca8418_write_byte(keypad_data, REG_DEBOUNCE_DIS2, reg >> 8);
keypad_data       251 drivers/input/keyboard/tca8418_keypad.c 	error |= tca8418_write_byte(keypad_data, REG_DEBOUNCE_DIS3, reg >> 16);
keypad_data       256 drivers/input/keyboard/tca8418_keypad.c 	error = tca8418_write_byte(keypad_data, REG_CFG,
keypad_data       266 drivers/input/keyboard/tca8418_keypad.c 	struct tca8418_keypad *keypad_data;
keypad_data       296 drivers/input/keyboard/tca8418_keypad.c 	keypad_data = devm_kzalloc(dev, sizeof(*keypad_data), GFP_KERNEL);
keypad_data       297 drivers/input/keyboard/tca8418_keypad.c 	if (!keypad_data)
keypad_data       300 drivers/input/keyboard/tca8418_keypad.c 	keypad_data->client = client;
keypad_data       301 drivers/input/keyboard/tca8418_keypad.c 	keypad_data->row_shift = row_shift;
keypad_data       304 drivers/input/keyboard/tca8418_keypad.c 	error = tca8418_read_byte(keypad_data, REG_KEY_LCK_EC, &reg);
keypad_data       313 drivers/input/keyboard/tca8418_keypad.c 	keypad_data->input = input;
keypad_data       335 drivers/input/keyboard/tca8418_keypad.c 					  client->name, keypad_data);
keypad_data       343 drivers/input/keyboard/tca8418_keypad.c 	error = tca8418_configure(keypad_data, rows, cols);