[U-Boot] [PATCH v4 00/16] Power(full) framework based on Driver Model

Przemyslaw Marczak
2015-04-23T11:33:47Z

Hello Simon,

On 04/22/2015 06:29 PM, Simon Glass wrote:
> Hi Przemyslaw,
>
> On 20 April 2015 at 12:07, Przemyslaw Marczak <p.marczak@samsung.com> wrote:
>> Hello,
>> Again the next version. The changes are described below each commit message.
>> This is rebased on last u-boot-dm/master after apply this patchset:
>> https://patchwork.ozlabs.org/patch/462775/
>> https://patchwork.ozlabs.org/patch/462777/
>> https://patchwork.ozlabs.org/patch/462776/
>>
>> This all can be found in here:
>> https://github.com/bobenstein/u-boot/tree/dm-pmic-v4
>>
>> Best regards,
>>
>> Przemyslaw Marczak (16):
>> exynos5: fix build break by adding CONFIG_POWER
>> exynos4-common: remove the unsued CONFIG_CMD_PMIC
>> lib: Kconfig: add entry for errno_str() function
>> dm: pmic: add implementation of driver model pmic uclass
>> dm: regulator: add implementation of driver model regulator uclass
>> dm: pmic: add pmic command
>> dm: regulator: add regulator command
>> pmic: max77686 set the same compatible as in the kernel
>> dm: pmic: add max77686 pmic driver
>> dm: regulator: add max77686 regulator driver
>> dm: regulator: add fixed voltage regulator driver
>> doc: driver-model: pmic and regulator uclass documentation
>> dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC
>> odroid: board: add support to dm pmic api
>> odroid: dts: add 'voltage-regulators' description to max77686 node
>> odroid: config: enable dm pmic, dm regulator and max77686 driver
>>
>> Makefile | 3 +-
>> arch/arm/dts/exynos4412-odroid.dts | 255 ++++++-
>> arch/arm/dts/exynos4412-trats2.dts | 2 +-
>> arch/arm/dts/exynos5250-smdk5250.dts | 2 +-
>> arch/arm/dts/exynos5250-snow.dts | 2 +-
>> board/samsung/common/board.c | 4 +-
>> board/samsung/common/misc.c | 1 +
>> board/samsung/odroid/odroid.c | 77 ++-
>> common/Kconfig | 36 +
>> common/Makefile | 4 +
>> common/cmd_pmic.c | 231 +++++++
>> common/cmd_regulator.c | 403 +++++++++++
>> configs/odroid_defconfig | 8 +-
>> doc/device-tree-bindings/pmic/max77686.txt | 36 +
>> doc/device-tree-bindings/regulator/fixed.txt | 38 ++
>> doc/device-tree-bindings/regulator/max77686.txt | 70 ++
>> doc/device-tree-bindings/regulator/regulator.txt | 55 ++
>> doc/driver-model/pmic-framework.txt | 142 ++++
>> drivers/power/Kconfig | 8 +
>> drivers/power/Makefile | 1 -
>> drivers/power/pmic/Kconfig | 18 +
>> drivers/power/pmic/Makefile | 2 +
>> drivers/power/pmic/max77686.c | 87 +++
>> drivers/power/pmic/pmic-uclass.c | 158 +++++
>> drivers/power/pmic/pmic_max77686.c | 2 +-
>> drivers/power/regulator/Kconfig | 33 +
>> drivers/power/regulator/Makefile | 10 +
>> drivers/power/regulator/fixed.c | 126 ++++
>> drivers/power/regulator/max77686.c | 825 +++++++++++++++++++++++
>> drivers/power/regulator/regulator-uclass.c | 300 +++++++++
>> include/configs/exynos4-common.h | 1 -
>> include/configs/exynos5-common.h | 4 +
>> include/configs/odroid.h | 5 -
>> include/dm/uclass-id.h | 4 +
>> include/power/max77686_pmic.h | 29 +-
>> include/power/pmic.h | 189 ++++++
>> include/power/regulator.h | 384 +++++++++++
>> lib/Kconfig | 8 +
>> lib/fdtdec.c | 2 +-
>> 39 files changed, 3512 insertions(+), 53 deletions(-)
>> create mode 100644 common/cmd_pmic.c
>> create mode 100644 common/cmd_regulator.c
>> create mode 100644 doc/device-tree-bindings/pmic/max77686.txt
>> create mode 100644 doc/device-tree-bindings/regulator/fixed.txt
>> create mode 100644 doc/device-tree-bindings/regulator/max77686.txt
>> create mode 100644 doc/device-tree-bindings/regulator/regulator.txt
>> create mode 100644 doc/driver-model/pmic-framework.txt
>> create mode 100644 drivers/power/pmic/Kconfig
>> create mode 100644 drivers/power/pmic/max77686.c
>> create mode 100644 drivers/power/pmic/pmic-uclass.c
>> create mode 100644 drivers/power/regulator/Kconfig
>> create mode 100644 drivers/power/regulator/Makefile
>> create mode 100644 drivers/power/regulator/fixed.c
>> create mode 100644 drivers/power/regulator/max77686.c
>> create mode 100644 drivers/power/regulator/regulator-uclass.c
>> create mode 100644 include/power/regulator.h
>>
>> --
>> 1.9.1
>>
>
> I'm going to test this and apply to u-boot-dm/next while we wait for
> you to finish the sandbox test code. I've made a few comments on the
> series. They are minor so I don't want to do another whole spin of the
> series (it takes time to review!), but you could do a fix-up patch or
> two if you like. I could perhaps squash them in if you prefer that,
> but honestly they are nits.
>
> It will be great to get this into mainline soon!
>
> Regards,
> Simon
>

Thank you again for the review. I know, that it takes a time, especially
when things are fully reworked.
I have some other things to do now. So I think, that the end of the next
week is reliable time to have the sandbox tests ready.

I will try to resend the fixes today or tomorrow.

One more question about the sandbox.

What do you think about adding: "drivers/power/pmic/max77686-sandbox.c"?
The read/write could be done for the file as in the sandbox SPI driver.
Then it's no problem to enable the max77686 regulator for the sandbox.
This could probably work without dump the real device, when keep the set
-> get I/O order.

Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com