~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/platform_data/keypad-pxa27x.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/platform_data/keypad-pxa27x.h (Version linux-6.12-rc7) and /include/linux/platform_data/keypad-pxa27x.h (Version linux-4.18.20)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php