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.
Showing the changes to include/linux/platform_data (1 of 2 files). Show all
Unified · Split
| @@ -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 */ | |