
Dear Marek Vasut,
I'm submitting hereby the initial code for the driver model. This is a RFC patch, please give it a spin and scream :-)
The GPIO api should now use the new approach on the sandbox target. There's also "dm" command, that allows dumping the driver tree.
Expanding CC ... guys, please start ripping us to shreds :-)
Marek Vasut (5): dm: sandbox: Add necessary linker sections dm: sandbox: Add necessary GD sections dm: REMOVE: sandbox binding experiment dm: gpio: Add draft GPIO core and convert sandbox to use it dm: Add "dm dump" command
Pavel Herrmann (2): dm: Add skeleton support for cores and drivers dm: add dummy demo driver and core
Makefile | 3 + arch/sandbox/cpu/u-boot.lds | 35 ++- arch/sandbox/include/asm/global_data.h | 9 + arch/sandbox/lib/board.c | 25 ++ common/dm/Makefile | 40 ++++ common/dm/core.c | 150 ++++++++++++ common/dm/debug.c | 106 +++++++++ common/dm/driver.c | 404 ++++++++++++++++++++++++++++++++ common/dm/lists.c | 138 +++++++++++ common/dm/root.c | 103 ++++++++ common/dm/tree.c | 164 +++++++++++++ common/dm/tree.h | 31 +++ drivers/demo/Makefile | 42 ++++ drivers/demo/core.c | 236 +++++++++++++++++++ drivers/demo/demo.c | 67 ++++++ drivers/gpio/Makefile | 2 + drivers/gpio/core.c | 365 +++++++++++++++++++++++++++++ drivers/gpio/sandbox.c | 58 ++++- include/asm-generic/gpio.h | 19 ++ include/configs/sandbox.h | 2 + include/dm/core_numbering.h | 35 +++ include/dm/debug.h | 33 +++ include/dm/demo.h | 37 +++ include/dm/manager.h | 57 +++++ include/dm/options.h | 46 ++++ include/dm/structures.h | 154 ++++++++++++ 26 files changed, 2352 insertions(+), 9 deletions(-) create mode 100644 common/dm/Makefile create mode 100644 common/dm/core.c create mode 100644 common/dm/debug.c create mode 100644 common/dm/driver.c create mode 100644 common/dm/lists.c create mode 100644 common/dm/root.c create mode 100644 common/dm/tree.c create mode 100644 common/dm/tree.h create mode 100644 drivers/demo/Makefile create mode 100644 drivers/demo/core.c create mode 100644 drivers/demo/demo.c create mode 100644 drivers/gpio/core.c create mode 100644 include/dm/core_numbering.h create mode 100644 include/dm/debug.h create mode 100644 include/dm/demo.h create mode 100644 include/dm/manager.h create mode 100644 include/dm/options.h create mode 100644 include/dm/structures.h
Best regards, Marek Vasut