mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 00:21:06 +00:00
566c6e4370
Everytime a dead driver is removed from the list, we must re-number. This is a painful task. Try git showe53232250
-- doc/driver-model/UDM-serial.txt git show6f62f4207
-- doc/driver-model/UDM-serial.txt git showb9f4bc34a
-- doc/driver-model/UDM-serial.txt to see what I mean. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
47 lines
1.8 KiB
Text
47 lines
1.8 KiB
Text
The U-Boot Driver Model Project
|
|
===============================
|
|
Keyboard input analysis
|
|
=======================
|
|
Marek Vasut <marek.vasut@gmail.com>
|
|
2012-02-20
|
|
|
|
I) Overview
|
|
-----------
|
|
|
|
The keyboard drivers are most often registered with STDIO subsystem. There are
|
|
components of the keyboard drivers though, which operate in severe ad-hoc
|
|
manner, often being related to interrupt-driven keypress reception. This
|
|
components will require the most sanitization of all parts of keyboard input
|
|
subsystem.
|
|
|
|
Otherwise, the keyboard is no different from other standard input but with the
|
|
necessity to decode scancodes. These are decoded using tables provided by
|
|
keyboard drivers. These tables are often driver specific.
|
|
|
|
II) Approach
|
|
------------
|
|
|
|
The most problematic part is the interrupt driven keypress reception. For this,
|
|
the buffers that are currently shared throughout the whole U-Boot would need to
|
|
be converted into driver's private data.
|
|
|
|
III) Analysis of in-tree drivers
|
|
--------------------------------
|
|
|
|
board/mpl/common/kbd.c
|
|
----------------------
|
|
This driver is a classic STDIO driver, no problem with conversion is expected.
|
|
Only necessary change will be to move this driver to a proper location.
|
|
|
|
board/rbc823/kbd.c
|
|
------------------
|
|
This driver is a classic STDIO driver, no problem with conversion is expected.
|
|
Only necessary change will be to move this driver to a proper location.
|
|
|
|
drivers/input/keyboard.c
|
|
------------------------
|
|
This driver is special in many ways. Firstly because this is a universal stub
|
|
driver for converting scancodes from i8042 and the likes. Secondly because the
|
|
buffer is filled by various other ad-hoc implementations of keyboard input by
|
|
using this buffer as an extern. This will need to be fixed by allowing drivers
|
|
to pass certain routines to this driver via platform data.
|