Hi Przemyslaw, On 8 May 2015 at 10:20, Przemyslaw Marczak <p.marc...@samsung.com> wrote: > Hello! > This patchset cleanups the POWER framework V4, which is applied into > u-boot-dm/next tree. > > The main changes: > - pmic/regulator uclasses cleanup - each commit message describes > the changes in details. > - added sandbox PMIC emulated device support, which consists of three > drivers: pmic I2C emul, pmic I/O and regulator. > - PMIC/REGULATOR tests for sandbox in: tests/dm/power.c > > I tried to add the implementation of all pmic/regulator operations for the > sandbox PMIC device - I hope that the drivers are not too complicated. > > The tests for sandbox includes every pmic/regulator function call, so for now > the tests should well cover the framework features. > > The patchset is rebased on the top of u-boot-dm/next, and can be fetched from > here: https://github.com/bobenstein/u-boot.git > branch: dm-pmic-v4-sandbox > > Best regards, > Przemyslaw Marczak
This looks great, thank you. I pushed the current state to u-boot-dm/working. I have a small bisectability problem though: buildman -b dm-next samsung -se boards.cfg is up to date. Nothing to do. Summary of 29 commits for 16 boards (16 threads, 2 jobs per thread) 01: dm: sf: Update default name of spi flash in structure udevice 02: exynos5: fix build break by adding CONFIG_POWER 03: exynos4-common: remove the unsued CONFIG_CMD_PMIC 04: lib: Kconfig: add entry for errno_str() function 05: dm: pmic: add implementation of driver model pmic uclass 06: dm: regulator: add implementation of driver model regulator uclass 07: dm: pmic: add pmic command 08: dm: regulator: add regulator command 09: pmic: max77686 set the same compatible as in the kernel 10: dm: pmic: add max77686 pmic driver 11: dm: regulator: add max77686 regulator driver 12: dm: regulator: add fixed voltage regulator driver 13: doc: driver-model: pmic and regulator uclass documentation 14: dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC 15: odroid: board: add support to dm pmic api arm: + odroid +board/samsung/odroid/built-in.o: In function `s5pc210_phy_control': +build/../board/samsung/odroid/odroid.c:444: undefined reference to `regulator_by_platname' +build/../board/samsung/odroid/odroid.c:453: undefined reference to `regulator_set_mode' +board/samsung/odroid/built-in.o: In function `exynos_power_init': +build/../board/samsung/odroid/odroid.c:432: undefined reference to `regulator_by_platname_list_autoset_and_enable' +board/samsung/odroid/built-in.o: In function `board_usb_init': +build/../board/samsung/odroid/odroid.c:490: undefined reference to `regulator_by_platname' +build/../board/samsung/odroid/odroid.c:496: undefined reference to `regulator_set_enable' +build/../board/samsung/odroid/odroid.c:502: undefined reference to `regulator_set_value' +build/../board/samsung/odroid/odroid.c:508: undefined reference to `regulator_set_value' +arm-linux-gnueabihf-ld.bfd: BFD (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04) 2.23.1 assertion fail /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-2.23.1/bfd/elf32-arm.c:7677 +arm-linux-gnueabihf-ld.bfd: error: required section '.rel.plt' not found in the linker script +arm-linux-gnueabihf-ld.bfd: final link failed: Invalid operation +make[1]: *** [u-boot] Error 1 +make: *** [sub-make] Error 2 16: odroid: dts: add 'voltage-regulators' description to max77686 node 17: odroid: config: enable dm pmic, dm regulator and max77686 driver arm: odroid -board/samsung/odroid/built-in.o: In function `s5pc210_phy_control': -build/../board/samsung/odroid/odroid.c:444: undefined reference to `regulator_by_platname' -build/../board/samsung/odroid/odroid.c:453: undefined reference to `regulator_set_mode' -board/samsung/odroid/built-in.o: In function `exynos_power_init': -build/../board/samsung/odroid/odroid.c:432: undefined reference to `regulator_by_platname_list_autoset_and_enable' -board/samsung/odroid/built-in.o: In function `board_usb_init': -build/../board/samsung/odroid/odroid.c:490: undefined reference to `regulator_by_platname' -build/../board/samsung/odroid/odroid.c:496: undefined reference to `regulator_set_enable' -build/../board/samsung/odroid/odroid.c:502: undefined reference to `regulator_set_value' -build/../board/samsung/odroid/odroid.c:508: undefined reference to `regulator_set_value' -arm-linux-gnueabihf-ld.bfd: BFD (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04) 2.23.1 assertion fail /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-2.23.1/bfd/elf32-arm.c:7677 -arm-linux-gnueabihf-ld.bfd: error: required section '.rel.plt' not found in the linker script -arm-linux-gnueabihf-ld.bfd: final link failed: Invalid operation -make[1]: *** [u-boot] Error 1 -make: *** [sub-make] Error 2 18: dm: pmic: code cleanup of PMIC uclass driver arm: + odroid +../drivers/power/pmic/max77686.c: At top level: +drivers/power/pmic/built-in.o: In function `max77686_bind': +build/../drivers/power/pmic/max77686.c:62: undefined reference to `pmic_bind_childs' +arm-linux-gnueabihf-ld.bfd: BFD (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04) 2.23.1 assertion fail /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-2.23.1/bfd/elf32-arm.c:7677 +arm-linux-gnueabihf-ld.bfd: error: required section '.rel.plt' not found in the linker script +arm-linux-gnueabihf-ld.bfd: final link failed: Invalid operation +make[1]: *** [u-boot] Error 1 +make: *** [sub-make] Error 2 w+../drivers/power/pmic/max77686.c: In function ‘max77686_bind’: w+../drivers/power/pmic/max77686.c:62:2: warning: implicit declaration of function ‘pmic_bind_childs’ [-Wimplicit-function-declaration] w+../drivers/power/pmic/max77686.c:71:2: warning: initialization makes pointer from integer without a cast [enabled by default] w+../drivers/power/pmic/max77686.c:71:2: warning: (near initialization for ‘max77686_ops.reg_count’) [enabled by default] 19: dm: pmic: max77686: update driver code arm: odroid -../drivers/power/pmic/max77686.c: At top level: -drivers/power/pmic/built-in.o: In function `max77686_bind': -build/../drivers/power/pmic/max77686.c:62: undefined reference to `pmic_bind_childs' -arm-linux-gnueabihf-ld.bfd: BFD (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04) 2.23.1 assertion fail /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-2.23.1/bfd/elf32-arm.c:7677 -arm-linux-gnueabihf-ld.bfd: error: required section '.rel.plt' not found in the linker script -arm-linux-gnueabihf-ld.bfd: final link failed: Invalid operation -make[1]: *** [u-boot] Error 1 -make: *** [sub-make] Error 2 w-../drivers/power/pmic/max77686.c: In function ‘max77686_bind’: w-../drivers/power/pmic/max77686.c:62:2: warning: implicit declaration of function ‘pmic_bind_childs’ [-Wimplicit-function-declaration] w-../drivers/power/pmic/max77686.c:71:2: warning: initialization makes pointer from integer without a cast [enabled by default] w-../drivers/power/pmic/max77686.c:71:2: warning: (near initialization for ‘max77686_ops.reg_count’) [enabled by default] 20: dm: regulator: uclass driver code cleanup arm: + odroid +In file included from ../board/samsung/odroid/odroid.c:17:0: +../include/power/regulator.h:356:5: note: expected ‘struct udevice **’ but argument is of type ‘int’ +../board/samsung/odroid/odroid.c:432:2: error: too many arguments to function ‘regulator_list_autoset’ +../include/power/regulator.h:356:5: note: declared here +make[2]: *** [board/samsung/odroid/odroid.o] Error 1 +make[1]: *** [board/samsung/odroid] Error 2 +make: *** [sub-make] Error 2 w+../board/samsung/odroid/odroid.c: In function ‘exynos_power_init’: w+../board/samsung/odroid/odroid.c:432:2: warning: passing argument 2 of ‘regulator_list_autoset’ makes pointer from integer without a cast [enabled by default] w+../board/samsung/odroid/odroid.c: In function ‘s5pc210_phy_control’: w+../board/samsung/odroid/odroid.c:444:2: warning: implicit declaration of function ‘regulator_by_platname’ [-Wimplicit-function-declaration] 21: odroid u3: cleanup the regulator calls arm: odroid -In file included from ../board/samsung/odroid/odroid.c:17:0: -../include/power/regulator.h:356:5: note: expected ‘struct udevice **’ but argument is of type ‘int’ -../board/samsung/odroid/odroid.c:432:2: error: too many arguments to function ‘regulator_list_autoset’ -../include/power/regulator.h:356:5: note: declared here -make[2]: *** [board/samsung/odroid/odroid.o] Error 1 -make[1]: *** [board/samsung/odroid] Error 2 -make: *** [sub-make] Error 2 w-../board/samsung/odroid/odroid.c: In function ‘exynos_power_init’: w-../board/samsung/odroid/odroid.c:432:2: warning: passing argument 2 of ‘regulator_list_autoset’ makes pointer from integer without a cast [enabled by default] w-../board/samsung/odroid/odroid.c: In function ‘s5pc210_phy_control’: w-../board/samsung/odroid/odroid.c:444:2: warning: implicit declaration of function ‘regulator_by_platname’ [-Wimplicit-function-declaration] 22: common: cmd pmic: command cleanup 23: common: cmd regulator: command cleanup 24: doc: driver-model: pmic-framework.txt - cleanup 25: sandbox: i2c: search child emul dev and check its uclass id 26: sandbox: add: sandbox PMIC device drivers: I2C emul, pmic, regulator 27: test: dm: dts: add sandbox pmic i2c node 28: sandbox: defconfig: enable support of sandbox PMIC drivers 29: test: dm: add sandbox PMIC framework tests Can you please take a look? > > Przemyslaw Marczak (12): > dm: pmic: code cleanup of PMIC uclass driver > dm: pmic: max77686: update driver code > dm: regulator: uclass driver code cleanup > odroid u3: cleanup the regulator calls > common: cmd pmic: command cleanup > common: cmd regulator: command cleanup > doc: driver-model: pmic-framework.txt - cleanup > sandbox: i2c: search child emul dev and check its uclass id > sandbox: add: sandbox PMIC device drivers: I2C emul, pmic, regulator > test: dm: dts: add sandbox pmic i2c node > sandbox: defconfig: enable support of sandbox PMIC drivers > test: dm: add sandbox PMIC framework tests > > board/samsung/odroid/odroid.c | 9 +- > common/cmd_pmic.c | 131 ++++----- > common/cmd_regulator.c | 239 ++++++++-------- > configs/sandbox_defconfig | 7 + > doc/device-tree-bindings/pmic/sandbox.txt | 35 +++ > doc/device-tree-bindings/regulator/sandbox.txt | 45 +++ > doc/driver-model/pmic-framework.txt | 20 +- > drivers/i2c/sandbox_i2c.c | 20 +- > drivers/power/pmic/Kconfig | 27 +- > drivers/power/pmic/Makefile | 3 +- > drivers/power/pmic/i2c_pmic_emul.c | 145 ++++++++++ > drivers/power/pmic/max77686.c | 15 +- > drivers/power/pmic/pmic-uclass.c | 25 +- > drivers/power/pmic/sandbox.c | 79 ++++++ > drivers/power/regulator/Kconfig | 32 ++- > drivers/power/regulator/Makefile | 1 + > drivers/power/regulator/regulator-uclass.c | 104 ++++--- > drivers/power/regulator/sandbox.c | 355 +++++++++++++++++++++++ > include/power/pmic.h | 39 +-- > include/power/regulator.h | 116 ++++---- > include/power/sandbox_pmic.h | 222 +++++++++++++++ > test/dm/Makefile | 2 + > test/dm/power.c | 371 > +++++++++++++++++++++++++ > test/dm/test.dts | 38 +++ > 24 files changed, 1732 insertions(+), 348 deletions(-) > create mode 100644 doc/device-tree-bindings/pmic/sandbox.txt > create mode 100644 doc/device-tree-bindings/regulator/sandbox.txt > create mode 100644 drivers/power/pmic/i2c_pmic_emul.c > create mode 100644 drivers/power/pmic/sandbox.c > create mode 100644 drivers/power/regulator/sandbox.c > create mode 100644 include/power/sandbox_pmic.h > create mode 100644 test/dm/power.c > > -- > 1.9.1 > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot