~ [ 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.12.14)


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

~ [ 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