History

Input: pxa27x-keypad - drop support for platform data

There are no in-kernel users of pxa27x_keypad_platform_data in the kernel, and the driver supports configuration via device tree, so drop support of static platform data and move properties parsing from OF-specific methods to generic ones.

Dmitry Torokhov committed 1 year ago

Commit ca734f51 parent 770f82c2 files · +121 −330Browse files

Showing the changes to include/linux/platform_data (1 of 2 files). Show all

Unified · Split

include/linux/platform_data/keypad-pxa27x.h+0−73
@@ -1,73 +0,0 @@
1−/* SPDX-License-Identifier: GPL-2.0 */
2−#ifndef __ASM_ARCH_PXA27x_KEYPAD_H
3−#define __ASM_ARCH_PXA27x_KEYPAD_H
4−
5−#include <linux/input.h>
6−#include <linux/input/matrix_keypad.h>
7−
8−#define MAX_MATRIX_KEY_ROWS (8)
9−#define MAX_MATRIX_KEY_COLS (8)
10−#define MATRIX_ROW_SHIFT (3)
11−#define MAX_DIRECT_KEY_NUM (8)
12−
13−/* pxa3xx keypad platform specific parameters
14− *
15− * NOTE:
16− * 1. direct_key_num indicates the number of keys in the direct keypad
17− * _plus_ the number of rotary-encoder sensor inputs, this can be
18− * left as 0 if only rotary encoders are enabled, the driver will
19− * automatically calculate this
20− *
21− * 2. direct_key_map is the key code map for the direct keys, if rotary
22− * encoder(s) are enabled, direct key 0/1(2/3) will be ignored
23− *
24− * 3. rotary can be either interpreted as a relative input event (e.g.
25− * REL_WHEEL/REL_HWHEEL) or specific keys (e.g. UP/DOWN/LEFT/RIGHT)
26− *
27− * 4. matrix key and direct key will use the same debounce_interval by
28− * default, which should be sufficient in most cases
29− *
30− * pxa168 keypad platform specific parameter
31− *
32− * NOTE:
33− * clear_wakeup_event callback is a workaround required to clear the
34− * keypad interrupt. The keypad wake must be cleared in addition to
35− * reading the MI/DI bits in the KPC register.
36− */
37−struct pxa27x_keypad_platform_data {
38−
39− /* code map for the matrix keys */
40− const struct matrix_keymap_data *matrix_keymap_data;
41− unsigned int matrix_key_rows;
42− unsigned int matrix_key_cols;
43−
44− /* direct keys */
45− int direct_key_num;
46− unsigned int direct_key_map[MAX_DIRECT_KEY_NUM];
47− /* the key output may be low active */
48− int direct_key_low_active;
49− /* give board a chance to choose the start direct key */
50− unsigned int direct_key_mask;
51−
52− /* rotary encoders 0 */
53− int enable_rotary0;
54− int rotary0_rel_code;
55− int rotary0_up_key;
56− int rotary0_down_key;
57−
58− /* rotary encoders 1 */
59− int enable_rotary1;
60− int rotary1_rel_code;
61− int rotary1_up_key;
62− int rotary1_down_key;
63−
64− /* key debounce interval */
65− unsigned int debounce_interval;
66−
67− /* clear wakeup event requirement for pxa168 */
68− void (*clear_wakeup_event)(void);
69−};
70−
71−extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info);
72−
73−#endif /* __ASM_ARCH_PXA27x_KEYPAD_H */