All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/3] Input: cros_ec_keyb: add function key support
@ 2025-12-09 15:47 Fabio Baltieri
  2025-12-09 15:47 ` [PATCH v1 1/3] Input: cros_ec_keyb: clarify key event error message Fabio Baltieri
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Fabio Baltieri @ 2025-12-09 15:47 UTC (permalink / raw)
  To: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Benson Leung, Guenter Roeck
  Cc: Fabio Baltieri, Tzung-Bi Shih, Simon Glass, linux-input,
	devicetree, chrome-platform, linux-kernel

Hi,

this adds function key support to the cros_ec_keyb driver: the platform
can specify a key to be used as "function key", and that changes the
keycode emitted for other keys as long as the function key remains
pressed.

The Fn key omits its own code if pressed and released with no other
function key pressed in the meantime. Non mapped keys do not emit any
codes, this seems to be the behavior of other devices I have lying
around.

Fabio Baltieri (3):
  Input: cros_ec_keyb: clarify key event error message
  Input: cros_ec_keyb: add function key support
  dt-bindings: google,cros-ec-keyb: add fn-key and f-keymap props

 .../bindings/input/google,cros-ec-keyb.yaml   |  60 +++++-
 drivers/input/keyboard/cros_ec_keyb.c         | 193 ++++++++++++++++--
 2 files changed, 227 insertions(+), 26 deletions(-)

-- 
2.52.0.223.gf5cc29aaa4-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [PATCH v1 3/3] dt-bindings: google,cros-ec-keyb: add fn-key and f-keymap props
@ 2025-12-16  2:40 kernel test robot
  0 siblings, 0 replies; 16+ messages in thread
From: kernel test robot @ 2025-12-16  2:40 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "dtcheck: binding changes may go via different trees"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20251209154706.529784-4-fabiobaltieri@chromium.org>
References: <20251209154706.529784-4-fabiobaltieri@chromium.org>
TO: Fabio Baltieri <fabiobaltieri@chromium.org>
TO: Dmitry Torokhov <dmitry.torokhov@gmail.com>
TO: Rob Herring <robh@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
TO: Benson Leung <bleung@chromium.org>
TO: Guenter Roeck <groeck@chromium.org>
CC: Fabio Baltieri <fabiobaltieri@chromium.org>
CC: "Tzung-Bi Shih" <tzungbi@kernel.org>
CC: Simon Glass <sjg@chromium.org>
CC: linux-input@vger.kernel.org
CC: devicetree@vger.kernel.org
CC: chrome-platform@lists.linux.dev
CC: linux-kernel@vger.kernel.orga

Hi Fabio,

kernel test robot noticed the following build errors:

[auto build test ERROR on dtor-input/next]
[also build test ERROR on dtor-input/for-linus robh/for-next linus/master v6.16-rc1]
[cannot apply to next-20251215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-Baltieri/Input-cros_ec_keyb-clarify-key-event-error-message/20251209-235043
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
patch link:    https://lore.kernel.org/r/20251209154706.529784-4-fabiobaltieri%40chromium.org
patch subject: [PATCH v1 3/3] dt-bindings: google,cros-ec-keyb: add fn-key and f-keymap props
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: arm64-randconfig-2052-20251214 (https://download.01.org/0day-ci/archive/20251216/202512160313.xQWscEOe-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project ecaf673850beb241957352bd61e95ed34256635f)
dtschema version: 2025.12
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251216/202512160313.xQWscEOe-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202512160313.xQWscEOe-lkp@intel.com/

All errors (new ones prefixed by >>):

   Error: Documentation/devicetree/bindings/input/google,cros-ec-keyb.example.dts:83.9-89 Properties must precede subnodes
>> FATAL ERROR: Unable to parse input tree

dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml:83:11: [warning] wrong indentation: expected 12 but found 10 (indentation)
   Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml:85:11: [warning] wrong indentation: expected 12 but found 10 (indentation)

vim +83 Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml

50d68feee01039 Ricardo Cañuelo 2020-10-21   9  
50d68feee01039 Ricardo Cañuelo 2020-10-21  10  maintainers:
50d68feee01039 Ricardo Cañuelo 2020-10-21  11    - Simon Glass <sjg@chromium.org>
50d68feee01039 Ricardo Cañuelo 2020-10-21  12    - Benson Leung <bleung@chromium.org>
50d68feee01039 Ricardo Cañuelo 2020-10-21  13  
50d68feee01039 Ricardo Cañuelo 2020-10-21  14  description: |
50d68feee01039 Ricardo Cañuelo 2020-10-21  15    Google's ChromeOS EC Keyboard is a simple matrix keyboard
50d68feee01039 Ricardo Cañuelo 2020-10-21  16    implemented on a separate EC (Embedded Controller) device. It provides
50d68feee01039 Ricardo Cañuelo 2020-10-21  17    a message for reading key scans from the EC. These are then converted
52dc6d3bea3b85 Stephen Boyd    2022-05-16  18    into keycodes for processing by the kernel. This device also supports
52dc6d3bea3b85 Stephen Boyd    2022-05-16  19    switches/buttons like power and volume buttons.
50d68feee01039 Ricardo Cañuelo 2020-10-21  20  
50d68feee01039 Ricardo Cañuelo 2020-10-21  21  properties:
50d68feee01039 Ricardo Cañuelo 2020-10-21  22    compatible:
d95bca4fbde0a2 Stephen Boyd    2022-05-18  23      oneOf:
52dc6d3bea3b85 Stephen Boyd    2022-05-16  24        - description: ChromeOS EC with only buttons/switches
d95bca4fbde0a2 Stephen Boyd    2022-05-18  25          const: google,cros-ec-keyb-switches
52dc6d3bea3b85 Stephen Boyd    2022-05-16  26        - description: ChromeOS EC with keyboard and possibly buttons/switches
50d68feee01039 Ricardo Cañuelo 2020-10-21  27          const: google,cros-ec-keyb
50d68feee01039 Ricardo Cañuelo 2020-10-21  28  
50d68feee01039 Ricardo Cañuelo 2020-10-21  29    google,needs-ghost-filter:
50d68feee01039 Ricardo Cañuelo 2020-10-21  30      description:
50d68feee01039 Ricardo Cañuelo 2020-10-21  31        Enable a ghost filter for the matrix keyboard. This is recommended
50d68feee01039 Ricardo Cañuelo 2020-10-21  32        if the EC does not have its own logic or hardware for this.
50d68feee01039 Ricardo Cañuelo 2020-10-21  33      type: boolean
50d68feee01039 Ricardo Cañuelo 2020-10-21  34  
311a27da627139 Philip Chen     2021-02-22  35    function-row-physmap:
4e71ed985389ce Rob Herring     2022-05-19  36      $ref: /schemas/types.yaml#/definitions/uint32-array
311a27da627139 Philip Chen     2021-02-22  37      minItems: 1
311a27da627139 Philip Chen     2021-02-22  38      maxItems: 15
311a27da627139 Philip Chen     2021-02-22  39      description: |
311a27da627139 Philip Chen     2021-02-22  40        An ordered u32 array describing the rows/columns (in the scan matrix)
311a27da627139 Philip Chen     2021-02-22  41        of top row keys from physical left (KEY_F1) to right. Each entry
311a27da627139 Philip Chen     2021-02-22  42        encodes the row/column as:
311a27da627139 Philip Chen     2021-02-22  43        (((row) & 0xFF) << 24) | (((column) & 0xFF) << 16)
311a27da627139 Philip Chen     2021-02-22  44        where the lower 16 bits are reserved. This property is specified only
311a27da627139 Philip Chen     2021-02-22  45        when the keyboard has a custom design for the top row keys.
311a27da627139 Philip Chen     2021-02-22  46  
70fff14a38ad73 Fabio Baltieri  2025-12-09  47    fn-key:
70fff14a38ad73 Fabio Baltieri  2025-12-09  48      $ref: /schemas/types.yaml#/definitions/uint32
70fff14a38ad73 Fabio Baltieri  2025-12-09  49      description: |
70fff14a38ad73 Fabio Baltieri  2025-12-09  50        An u32 containing the coordinate of the Fn key, use the MATRIX_KEY(row,
70fff14a38ad73 Fabio Baltieri  2025-12-09  51        col, code) macro, code is ignored.
70fff14a38ad73 Fabio Baltieri  2025-12-09  52  
70fff14a38ad73 Fabio Baltieri  2025-12-09  53    fn-keymap:
70fff14a38ad73 Fabio Baltieri  2025-12-09  54      $ref: /schemas/types.yaml#/definitions/uint32-array
70fff14a38ad73 Fabio Baltieri  2025-12-09  55      minItems: 1
70fff14a38ad73 Fabio Baltieri  2025-12-09  56      maxItems: 32
70fff14a38ad73 Fabio Baltieri  2025-12-09  57      description: |
70fff14a38ad73 Fabio Baltieri  2025-12-09  58        An array of u32 mapping the row, column and codes for the function keys,
70fff14a38ad73 Fabio Baltieri  2025-12-09  59        use the MATRIX_KEY macro to define the elements.
70fff14a38ad73 Fabio Baltieri  2025-12-09  60  
52dc6d3bea3b85 Stephen Boyd    2022-05-16  61  dependencies:
c6f3b684c2c4e8 Linus Walleij   2023-02-21  62    function-row-physmap: [ 'linux,keymap' ]
52dc6d3bea3b85 Stephen Boyd    2022-05-16  63    google,needs-ghost-filter: [ 'linux,keymap' ]
52dc6d3bea3b85 Stephen Boyd    2022-05-16  64  
50d68feee01039 Ricardo Cañuelo 2020-10-21  65  required:
50d68feee01039 Ricardo Cañuelo 2020-10-21  66    - compatible
50d68feee01039 Ricardo Cañuelo 2020-10-21  67  
70fff14a38ad73 Fabio Baltieri  2025-12-09  68  allOf:
70fff14a38ad73 Fabio Baltieri  2025-12-09  69    - if:
52dc6d3bea3b85 Stephen Boyd    2022-05-16  70        properties:
52dc6d3bea3b85 Stephen Boyd    2022-05-16  71          compatible:
52dc6d3bea3b85 Stephen Boyd    2022-05-16  72            contains:
52dc6d3bea3b85 Stephen Boyd    2022-05-16  73              const: google,cros-ec-keyb
52dc6d3bea3b85 Stephen Boyd    2022-05-16  74      then:
77987b872fcfea Rob Herring     2023-03-21  75        $ref: /schemas/input/matrix-keymap.yaml#
52dc6d3bea3b85 Stephen Boyd    2022-05-16  76        required:
52dc6d3bea3b85 Stephen Boyd    2022-05-16  77          - keypad,num-rows
52dc6d3bea3b85 Stephen Boyd    2022-05-16  78          - keypad,num-columns
52dc6d3bea3b85 Stephen Boyd    2022-05-16  79          - linux,keymap
70fff14a38ad73 Fabio Baltieri  2025-12-09  80    - if:
70fff14a38ad73 Fabio Baltieri  2025-12-09  81        anyOf:
70fff14a38ad73 Fabio Baltieri  2025-12-09  82          - required:
70fff14a38ad73 Fabio Baltieri  2025-12-09 @83            - fn-key
70fff14a38ad73 Fabio Baltieri  2025-12-09  84          - required:
70fff14a38ad73 Fabio Baltieri  2025-12-09  85            - fn-keymap
70fff14a38ad73 Fabio Baltieri  2025-12-09  86      then:
70fff14a38ad73 Fabio Baltieri  2025-12-09  87        required:
70fff14a38ad73 Fabio Baltieri  2025-12-09  88          - fn-key
70fff14a38ad73 Fabio Baltieri  2025-12-09  89          - fn-keymap
52dc6d3bea3b85 Stephen Boyd    2022-05-16  90  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-12-23 15:29 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-09 15:47 [PATCH v1 0/3] Input: cros_ec_keyb: add function key support Fabio Baltieri
2025-12-09 15:47 ` [PATCH v1 1/3] Input: cros_ec_keyb: clarify key event error message Fabio Baltieri
2025-12-11 13:29   ` Simon Glass
2025-12-13  9:40   ` Dmitry Torokhov
2025-12-09 15:47 ` [PATCH v1 2/3] Input: cros_ec_keyb: add function key support Fabio Baltieri
2025-12-11 13:29   ` Simon Glass
2025-12-15 13:09     ` Fabio Baltieri
2025-12-09 15:47 ` [PATCH v1 3/3] dt-bindings: google,cros-ec-keyb: add fn-key and f-keymap props Fabio Baltieri
2025-12-09 17:24   ` Rob Herring (Arm)
2025-12-09 19:22   ` Rob Herring
2025-12-10 18:00     ` Fabio Baltieri
2025-12-12  4:44       ` Dmitry Torokhov
2025-12-16 12:23         ` Fabio Baltieri
2025-12-17 18:05           ` Dmitry Torokhov
2025-12-23 15:29             ` Fabio Baltieri
  -- strict thread matches above, loose matches on Subject: below --
2025-12-16  2:40 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.