public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/28] dm: input: Move keyboard drivers to driver model
@ 2015-09-09  4:32 Simon Glass
  2015-09-09  4:32 ` [U-Boot] [PATCH 01/28] dm: input: Create a keyboard uclass Simon Glass
                   ` (27 more replies)
  0 siblings, 28 replies; 60+ messages in thread
From: Simon Glass @ 2015-09-09  4:32 UTC (permalink / raw)
  To: u-boot

This series adds a new uclass for keyboards and converts some drivers
over to use it.

This series includes some work to remove code duplication in the keyboard
drivers by updating them to use the input library (input.c). This unifies
the keycode decoding logic in one place. In order to do this some
enhancements are needed to the input library and these are also included.

The cros_ec and tegra_kbc drivers are converted to use driver model.

The i8042 driver is converted also, after various tidy-ups. The driver has
some strange interactions with the cfb_console driver. This is removed in
this series which is possible because the only user is x86. Some i8042
features have been dropped (the only deliberate one is the flashing cursor
which does not seem to be used by any board).

Also the i8042 driver currently has its own keycode decoding logic. This
series removes it in favour of the input library. Therefore testing of this
new driver would be appreciated. So far I have only been able to test on
link, which does not have a full keyboard. Also, while German keyboard
support is implemented, I am unable to test that either.

These changes can be considered the first step towards moving stdio to
driver model. For that to be useful we need to convert LCD and video also.

Note: This series is missing the code to call the update_leds() method when
the LEDs change. This needs to be added to keyboard_tstc() and
keyboard_getc(). If someone is able to test this I can send a patch for that
also.


Simon Glass (28):
  dm: input: Create a keyboard uclass
  input: Add a device pointer to the input config
  input: Return -ENOSPC when there is not space
  input: Add the keycode translation tables separately
  cros_ec: Use udevice instead of cros_ec_dev for keyboard functions
  dm: stdio: Plumb in the new keyboard uclass
  dm: tegra: Convert keyboard driver to driver model
  dm: cros_ec: Convert cros_ec keyboard driver to driver model
  video: Drop unused console functions
  i8042: Use functions to handle register access
  i8042: Handle a duplicate power-on-reset response
  i8042: Adjust kbd_reset() to collect all failures
  i8042: Adjust keyboard init to assume success
  input: Correct keycode for Ctrl-Y
  input: Add a few more keyboard keycodes
  input: Add a function to add a keycode to the existing set
  input: Allow repeat filtering to be disabled
  input: Support the German keymap
  input: Adjust structure of code in process_modifier()
  input: Handle caps lock
  input: Allow updating of keyboard LEDs
  input: i8042: Convert to use the input library
  input: Add a Kconfig option for the i8042 keyboard
  x86: Add an i8042 device for boards that have it
  Drop CONFIG_ISA_KEYBOARD
  input: Convert i8042 to driver model
  video: input: Clean up after i8042 conversion
  input: Convert 'keyboard' driver to use input library

 README                           |  42 +--
 arch/arm/Kconfig                 |   1 +
 arch/arm/mach-tegra/Kconfig      |   1 +
 arch/sandbox/Kconfig             |   3 +
 arch/x86/Kconfig                 |   6 +
 arch/x86/dts/bayleybay.dts       |   1 +
 arch/x86/dts/chromebook_link.dts |   1 +
 arch/x86/dts/keyboard.dtsi       |   5 +
 board/kosagi/novena/novena.c     |   1 +
 board/mpl/pip405/README          |   4 -
 common/stdio.c                   |  31 +-
 common/usb_kbd.c                 |   6 -
 drivers/input/Kconfig            |  19 ++
 drivers/input/Makefile           |   4 +-
 drivers/input/cros_ec_keyb.c     | 147 ++++-----
 drivers/input/i8042.c            | 632 ++++++++++-----------------------------
 drivers/input/input.c            | 202 ++++++++++---
 drivers/input/keyboard-uclass.c  |  84 ++++++
 drivers/input/keyboard.c         | 290 +++---------------
 drivers/input/tegra-kbc.c        | 242 +++++++--------
 drivers/misc/cros_ec.c           |  14 +-
 drivers/video/cfb_console.c      |  82 +----
 include/configs/MIP405.h         |   5 -
 include/configs/MPC8536DS.h      |   1 -
 include/configs/MPC8544DS.h      |   1 -
 include/configs/MPC8572DS.h      |   1 -
 include/configs/MPC8641HPCN.h    |   1 -
 include/configs/PIP405.h         |   5 -
 include/configs/x86-chromebook.h |   2 +-
 include/configs/x86-common.h     |   2 +-
 include/cros_ec.h                |   4 +-
 include/fdtdec.h                 |   1 -
 include/i8042.h                  |   6 -
 include/input.h                  |  65 +++-
 include/keyboard.h               |  83 +++++
 lib/fdtdec.c                     |   1 -
 36 files changed, 866 insertions(+), 1130 deletions(-)
 create mode 100644 arch/x86/dts/keyboard.dtsi
 create mode 100644 drivers/input/keyboard-uclass.c

-- 
2.6.0.rc0.131.gf624c3d

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

end of thread, other threads:[~2015-10-30 20:24 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-09  4:32 [U-Boot] [PATCH 00/28] dm: input: Move keyboard drivers to driver model Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 01/28] dm: input: Create a keyboard uclass Simon Glass
2015-09-09 12:17   ` Marek Vasut
2015-09-15  6:11   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 02/28] input: Add a device pointer to the input config Simon Glass
2015-09-15  6:11   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 03/28] input: Return -ENOSPC when there is not space Simon Glass
2015-09-15  6:11   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 04/28] input: Add the keycode translation tables separately Simon Glass
2015-09-15  6:11   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 05/28] cros_ec: Use udevice instead of cros_ec_dev for keyboard functions Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 06/28] dm: stdio: Plumb in the new keyboard uclass Simon Glass
2015-09-15  6:11   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-10-30 20:24   ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 07/28] dm: tegra: Convert keyboard driver to driver model Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 08/28] dm: cros_ec: Convert cros_ec " Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 09/28] video: Drop unused console functions Simon Glass
2015-09-15  6:11   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 10/28] i8042: Use functions to handle register access Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 11/28] i8042: Handle a duplicate power-on-reset response Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 12/28] i8042: Adjust kbd_reset() to collect all failures Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 13/28] i8042: Adjust keyboard init to assume success Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 14/28] input: Correct keycode for Ctrl-Y Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 15/28] input: Add a few more keyboard keycodes Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 16/28] input: Add a function to add a keycode to the existing set Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 17/28] input: Allow repeat filtering to be disabled Simon Glass
2015-10-30 20:24   ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 18/28] input: Support the German keymap Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 19/28] input: Adjust structure of code in process_modifier() Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 20/28] input: Handle caps lock Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 21/28] input: Allow updating of keyboard LEDs Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 22/28] input: i8042: Convert to use the input library Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 23/28] input: Add a Kconfig option for the i8042 keyboard Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 24/28] x86: Add an i8042 device for boards that have it Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 25/28] Drop CONFIG_ISA_KEYBOARD Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 26/28] input: Convert i8042 to driver model Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-10-18 23:17     ` Simon Glass
2015-10-19  1:53       ` Simon Glass
2015-10-19  3:01       ` Bin Meng
2015-10-19  3:07         ` Simon Glass
2015-09-09  4:32 ` [U-Boot] [PATCH 27/28] video: input: Clean up after i8042 conversion Simon Glass
2015-09-15  6:12   ` Bin Meng
2015-09-09  4:32 ` [U-Boot] [PATCH 28/28] input: Convert 'keyboard' driver to use input library Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox