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, ®); 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, ®); 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, ®); 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);