[U-Boot] [PATCH 00/12] PMIC/REGULATOR cleanup and Sandbox tests

Simon Glass sjg at chromium.org
Sun May 10 15:56:26 CEST 2015


Hi Przemyslaw,

On 8 May 2015 at 10:20, Przemyslaw Marczak <p.marczak at 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


More information about the U-Boot mailing list