[U-Boot] [PATCH v3 00/12] dm: input: Move keyboard drivers to driver model
Simon Glass
sjg at chromium.org
Wed Nov 11 22:56:09 CET 2015
Hi Bin,
On 11 November 2015 at 10:05, Simon Glass <sjg at 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
More information about the U-Boot
mailing list