[U-Boot] [PATCH v4 05/16] dm: regulator: add implementation of driver model regulator uclass

Simon Glass
2015-04-22T16:54:07Z

On 22 April 2015 at 10:30, Simon Glass <sjg@chromium.org> wrote:
> Hi Przemyslaw,
>
> On 20 April 2015 at 12:07, Przemyslaw Marczak <p.marczak@samsung.com> wrote:
>> This commit introduces the implementation of dm regulator API.
>> Device tree support allows for auto binding. And by the basic
>> uclass operations, it allows to driving the devices in a common
>> way. For detailed informations, please look into the header file.
>>
>> Core files:
>> - drivers/power/regulator-uclass.c - provides regulator common functions api
>> - include/power/regulator.h - define all structures required by the regulator
>>
>> Changes:
>> - new uclass-id: UCLASS_REGULATOR
>> - new config: CONFIG_DM_REGULATOR
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
>> ---
>> Changes V2:
>> - new operations for regulator uclass:
>> -- get/set output state - for output on/off setting
>> --- add enum: REGULATOR_OFF, REGULATOR_ON
>>
>> - regulator uclass code rework and cleanup:
>> -- change name of:
>> --- enum 'regulator_desc_type' to 'regulator_type'
>> --- add type DVS
>> --- struct 'regulator_desc' to 'regulator_value_desc'
>>
>> -- regulator ops function calls:
>> --- remove 'ldo/buck' from naming
>> --- add new argument 'type' for define regulator type
>>
>> -- regulator.h - update comments
>>
>> Changes V3:
>> - regulator-uclass.c and regulator.h:
>> -- api cleanup
>> -- new function regulator_ofdata_to_platdata()
>> -- update of comments
>> -- add Kconfig
>>
>> Changes V4:
>> - move file drivers/power/regulator-uclass.c to
>> drivers/power/regulator/regulator-uclass.c
>> - move DM_REGULATOR Kconfig entry from: drivers/power/Kconfig to
>> drivers/power/regulator/Kconfig
>> - drivers/power/Kconfig: include regulator Kconfig path
>> - Kconfig: provide only general informations
>> - regulator-uclass.c: cleanup
>> - regulator-uclass.c: allow init regulator with name only
>> - regulator-uclass.c: remove pmic_get_uclass_ops and use dev_get_driver_ops
>> - regulator-uclass.c: add use of uclass_get_device_by_name()
>> - regulator.h: add 'struct dm_regulator_uclass_platdata'
>> - regulator.h: API documentation cleanup
>> - regulator - add binding info
>>

Acked-by: Simon Glass <sjg@chromium.org>

>> ---
>> Makefile | 3 +-
>> doc/device-tree-bindings/regulator/regulator.txt | 55 ++++
>> drivers/power/Kconfig | 2 +
>> drivers/power/regulator/Kconfig | 17 +
>> drivers/power/regulator/Makefile | 8 +
>> drivers/power/regulator/regulator-uclass.c | 300 ++++++++++++++++++
>> include/dm/uclass-id.h | 1 +
>> include/power/regulator.h | 384 +++++++++++++++++++++++
>> 8 files changed, 769 insertions(+), 1 deletion(-)
>> create mode 100644 doc/device-tree-bindings/regulator/regulator.txt
>> create mode 100644 drivers/power/regulator/Kconfig
>> create mode 100644 drivers/power/regulator/Makefile
>> create mode 100644 drivers/power/regulator/regulator-uclass.c
>> create mode 100644 include/power/regulator.h