Hi Tom, Here is the conversion of input to driver model, refactoring of USB probing with added tests and a few other things.
The following changes since commit 2b24e09c66480f3723b137f434a6c3b0db764817: rockchip: Turn on CONFIG_DEBUG_UART_NS16550 in defconfigs (2015-11-19 17:06:25 -0500) are available in the git repository at: git://git.denx.de/u-boot-dm.git for you to fetch changes up to bff1a71ede3557cd5502afdb74aabe9599d6f96b: dm: test: usb: sandbox: Add keyboard tests for sandbox (2015-11-19 20:27:52 -0700) ---------------------------------------------------------------- Bin Meng (6): input: Save keyboard's LED state to correct place input: Call keyboard's update_leds() method when the LEDs change input: Change LED state bits to conform i8042 compatible keyboard input: Ban digit numbers if 'Num Lock' is not on x86: crownbay: Convert to use driver model keyboard x86: qemu: Convert to use driver model keyboard Daniel Schwierzeck (1): sandbox: cros_ec: fix uninitialized use of len Simon Glass (55): dm: usb: Add support for USB keyboards with driver model 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: 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 i8042: Handle a duplicate power-on-reset response video: input: Clean up after i8042 conversion input: Convert 'keyboard' driver to use input library sandbox: Add a way to skip time delays dm: usb: Avoid time delays in sandbox tests Move console definitions into a new console.h file Drop config.h header from display_options.c Add a circular memory buffer implementation console: Add a console buffer sandbox: Enable console recording and silent console test: Record and silence console in tests usb: Refactor USB tree output code for testing dm: core: Add safe device iteration macros sandbox: usb: Allow dynamic emulated USB device descriptors sandbox: usb: Allow up to 4 emulated devices on a hub sandbox: usb: Allow finding a USB emulator for a device Revert "dm: usb: Rename usb_find_child to usb_find_emul_child" Revert "dm: usb: Use device_unbind_children to clean up usb devs on stop" Revert "dm: Export device_remove_children / device_unbind_children" dm: usb: Deprecate usb_get_dev_index() dm: usb: Remove inactive children after a bus scan dm: test: usb: Add tests for the 'usb tree' command dm: test: usb: Add a test for device reordering usb: Drop unused code in usb_kbd.c usb: Avoid open-coded USB constants in usb_kbd.c usb: sandbox: Add support for interrupt operations usb: sandbox: Add a USB emulation driver sandbox: Enable USB keyboard dm: test: usb: sandbox: Add keyboard tests for sandbox Thomas Chou (2): common/board_f.c: move mark_bootstage after arch_cpu_init_dm sandbox: add a sandbox timer and basic test README | 42 +--- arch/arm/Kconfig | 1 + arch/arm/mach-tegra/Kconfig | 1 + arch/blackfin/lib/cmd_cache_dump.c | 1 + arch/powerpc/cpu/mpc8260/ether_fcc.c | 1 + arch/powerpc/cpu/mpc8260/i2c.c | 1 + arch/powerpc/cpu/mpc8xx/i2c.c | 1 + arch/sandbox/Kconfig | 3 + arch/sandbox/cpu/cpu.c | 5 +- arch/sandbox/cpu/start.c | 8 + arch/sandbox/cpu/state.c | 14 ++ arch/sandbox/dts/sandbox.dts | 4 + arch/sandbox/dts/test.dts | 19 +- arch/sandbox/include/asm/state.h | 20 ++ arch/sandbox/include/asm/test.h | 2 + arch/sh/lib/board.c | 1 + arch/sparc/lib/board.c | 1 + arch/x86/Kconfig | 6 + arch/x86/dts/bayleybay.dts | 1 + arch/x86/dts/chromebook_link.dts | 5 + arch/x86/dts/crownbay.dts | 1 + arch/x86/dts/keyboard.dtsi | 5 + arch/x86/dts/qemu-x86_i440fx.dts | 1 + arch/x86/dts/qemu-x86_q35.dts | 1 + board/Arcturus/ucp1020/spl.c | 1 + board/amcc/yucca/cmd_yucca.c | 1 + board/astro/mcf5373l/fpga.c | 1 + board/cobra5272/flash.c | 1 + board/esd/common/cmd_loadpci.c | 1 + board/esd/cpci405/cpci405.c | 1 + board/esd/pmc405de/pmc405de.c | 1 + board/esd/pmc440/cmd_pmc440.c | 1 + board/esd/pmc440/pmc440.c | 1 + board/esd/vme8349/caddy.c | 1 + board/freescale/b4860qds/spl.c | 1 + board/freescale/c29xpcie/spl.c | 1 + board/freescale/mpc8569mds/mpc8569mds.c | 1 + board/freescale/p1010rdb/spl.c | 1 + board/freescale/p1022ds/spl.c | 1 + board/freescale/p1_p2_rdb_pc/spl.c | 1 + board/freescale/t102xqds/spl.c | 1 + board/freescale/t102xrdb/spl.c | 1 + board/freescale/t104xrdb/spl.c | 1 + board/freescale/t208xqds/spl.c | 1 + board/freescale/t208xrdb/spl.c | 1 + board/freescale/t4qds/spl.c | 1 + board/freescale/t4rdb/spl.c | 1 + board/gdsys/common/cmd_ioloop.c | 1 + board/inka4x0/inkadiag.c | 1 + board/kosagi/novena/novena.c | 1 + board/lwmon5/kbd.c | 1 + board/mpl/common/kbd.c | 1 + board/mpl/pati/pati.c | 1 + board/mpl/pip405/README | 4 - board/renesas/sh7785lcr/selfcheck.c | 1 + board/sandbox/sandbox.c | 2 + board/tqc/tqm5200/cmd_stk52xx.c | 1 + board/tqc/tqm5200/tqm5200.c | 1 + board/xes/xpedite1000/xpedite1000.c | 1 + common/Kconfig | 28 +++ common/autoboot.c | 1 + common/board_f.c | 13 +- common/board_r.c | 11 ++ common/cli.c | 1 + common/cli_hush.c | 1 + common/cli_simple.c | 1 + common/cmd_armflash.c | 1 + common/cmd_bedbug.c | 1 + common/cmd_dcr.c | 1 + common/cmd_dfu.c | 1 + common/cmd_fastboot.c | 1 + common/cmd_fpgad.c | 1 + common/cmd_fuse.c | 1 + common/cmd_i2c.c | 1 + common/cmd_load.c | 1 + common/cmd_mem.c | 2 + common/cmd_misc.c | 1 + common/cmd_mmc.c | 1 + common/cmd_nand.c | 1 + common/cmd_nvedit.c | 1 + common/cmd_otp.c | 1 + common/cmd_pci.c | 1 + common/cmd_usb.c | 71 ++++--- common/cmd_usb_mass_storage.c | 1 + common/command.c | 1 + common/console.c | 51 ++++- common/iomux.c | 1 + common/main.c | 1 + common/stdio.c | 31 ++- common/usb_hub.c | 10 +- common/usb_kbd.c | 83 ++++---- configs/sandbox_defconfig | 7 + doc/device-tree-bindings/input/i8042.txt | 10 + doc/device-tree-bindings/timer/sandbox_timer.txt | 7 + drivers/block/fsl_sata.c | 1 + drivers/core/device-remove.c | 22 ++- drivers/fpga/ACEX1K.c | 1 + drivers/fpga/virtex2.c | 1 + drivers/fpga/zynqpl.c | 1 + drivers/i2c/adi_i2c.c | 1 + drivers/input/Kconfig | 19 ++ drivers/input/Makefile | 4 +- drivers/input/cros_ec_keyb.c | 147 ++++++-------- drivers/input/i8042.c | 647 +++++++++++++++++--------------------------------------------- drivers/input/input.c | 252 ++++++++++++++++++++---- drivers/input/keyboard-uclass.c | 91 +++++++++ drivers/input/keyboard.c | 289 ++++------------------------ drivers/input/tegra-kbc.c | 242 +++++++++++------------ drivers/misc/cbmem_console.c | 2 +- drivers/misc/cros_ec.c | 14 +- drivers/misc/cros_ec_sandbox.c | 1 + drivers/mtd/cfi_flash.c | 1 + drivers/mtd/nand/bfin_nand.c | 1 + drivers/net/e1000_spi.c | 1 + drivers/net/keystone_net.c | 1 + drivers/net/phy/phy.c | 1 + drivers/net/vsc7385.c | 1 + drivers/power/battery/bat_trats.c | 1 + drivers/spi/bfin_spi.c | 1 + drivers/spi/bfin_spi6xx.c | 1 + drivers/spi/sh_qspi.c | 1 + drivers/spi/sh_spi.c | 1 + drivers/timer/Kconfig | 7 + drivers/timer/Makefile | 1 + drivers/timer/sandbox_timer.c | 53 +++++ drivers/usb/emul/Makefile | 1 + drivers/usb/emul/sandbox_flash.c | 48 +++-- drivers/usb/emul/sandbox_hub.c | 2 +- drivers/usb/emul/sandbox_keyb.c | 241 +++++++++++++++++++++++ drivers/usb/emul/usb-emul-uclass.c | 29 ++- drivers/usb/gadget/ether.c | 1 + drivers/usb/gadget/f_mass_storage.c | 1 + drivers/usb/gadget/f_thor.c | 1 + drivers/usb/host/r8a66597-hcd.c | 1 + drivers/usb/host/usb-sandbox.c | 19 ++ drivers/usb/host/usb-uclass.c | 54 ++++-- drivers/usb/musb-new/musb_uboot.c | 1 + drivers/video/cfb_console.c | 82 ++------ examples/standalone/mem_to_mem_idma2intr.c | 1 + examples/standalone/smc911x_eeprom.c | 1 + include/asm-generic/global_data.h | 6 + include/common.h | 17 -- 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/bayleybay.h | 3 - include/configs/chromebox_panther.h | 2 - include/configs/crownbay.h | 2 +- include/configs/minnowmax.h | 1 - include/configs/qemu-x86.h | 2 +- include/configs/sandbox.h | 5 +- include/configs/x86-chromebook.h | 2 +- include/configs/x86-common.h | 2 +- include/console.h | 52 +++++ include/cros_ec.h | 4 +- include/dm/device-internal.h | 26 --- include/dm/device.h | 12 ++ include/dm/uclass-id.h | 1 + include/dm/uclass.h | 15 ++ include/fdtdec.h | 1 - include/i8042.h | 6 - include/input.h | 69 ++++++- include/keyboard.h | 84 ++++++++ include/linux/usb/ch9.h | 20 ++ include/membuff.h | 246 ++++++++++++++++++++++++ include/usb.h | 29 +++ lib/Makefile | 1 + lib/display_options.c | 2 +- lib/fdtdec.c | 1 - lib/gunzip.c | 1 + lib/membuff.c | 390 +++++++++++++++++++++++++++++++++++++ net/net.c | 1 + test/dm/Makefile | 1 + test/dm/test-main.c | 12 ++ test/dm/timer.c | 27 +++ test/dm/usb.c | 241 +++++++++++++++++++++++ test/ut.c | 4 + 180 files changed, 2832 insertions(+), 1291 deletions(-) create mode 100644 arch/x86/dts/keyboard.dtsi create mode 100644 doc/device-tree-bindings/input/i8042.txt create mode 100644 doc/device-tree-bindings/timer/sandbox_timer.txt create mode 100644 drivers/input/keyboard-uclass.c create mode 100644 drivers/timer/sandbox_timer.c create mode 100644 drivers/usb/emul/sandbox_keyb.c create mode 100644 include/console.h create mode 100644 include/membuff.h create mode 100644 lib/membuff.c create mode 100644 test/dm/timer.c Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot