Hi Bin, On 11 November 2015 at 10:05, Simon Glass <s...@chromium.org> wrote: > 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. > > This series is available at u-boot-dm branch input-working.
Can you please try testing this for your crash when pressing 'caps lock'? I'm not sure what is going on there and I don't have hardware to test with. > > Changes in v3: > - Refactor the German keyboard code to use data rather than code > - Drop unrelated cros_keyb change > - Fix 'QUICK' typo > - Fix missing 'use' word > - Drop patches already applied > > Changes in v2: > - Update input_add_tables() to add error checking > - Convert two multi-line comments to single-line comments > - Correct call to input_init() > - Drop CONFIG_VGA_AS_SINGLE_DEVICE from all x86 board config files > - Use device tree to handle this quirk > > Simon Glass (12): > 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 > i8042: Handle a duplicate power-on-reset response > video: input: Clean up after i8042 conversion > input: Convert 'keyboard' driver to use input library > > README | 30 +- > arch/x86/Kconfig | 6 + > arch/x86/dts/bayleybay.dts | 1 + > arch/x86/dts/chromebook_link.dts | 5 + > arch/x86/dts/keyboard.dtsi | 5 + > board/kosagi/novena/novena.c | 2 +- > board/mpl/pip405/README | 4 - > doc/device-tree-bindings/input/i8042.txt | 10 + > drivers/input/Kconfig | 10 + > drivers/input/Makefile | 2 +- > drivers/input/cros_ec_keyb.c | 2 +- > drivers/input/i8042.c | 563 > ++++++++----------------------- > drivers/input/input.c | 158 +++++++-- > drivers/input/keyboard.c | 290 +++------------- > drivers/input/tegra-kbc.c | 2 +- > drivers/video/cfb_console.c | 20 +- > include/configs/MIP405.h | 5 - > include/configs/PIP405.h | 5 - > include/configs/bayleybay.h | 3 - > include/configs/chromebox_panther.h | 2 - > include/configs/minnowmax.h | 1 - > include/configs/x86-chromebook.h | 2 +- > include/configs/x86-common.h | 2 +- > include/i8042.h | 6 - > include/input.h | 17 +- > include/keyboard.h | 5 + > 26 files changed, 376 insertions(+), 782 deletions(-) > create mode 100644 arch/x86/dts/keyboard.dtsi > create mode 100644 doc/device-tree-bindings/input/i8042.txt > > -- > 2.6.0.rc2.230.g3dd15c0 > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot