Skip to content

Commit

Permalink
dm: regulator: add function device_get_supply_regulator()
Browse files Browse the repository at this point in the history
Some devices are supplied by configurable regulator's output.
But there was no function for getting it. This commit adds
function, that allows for getting the supply device by it's phandle.

The returned regulator device can be used with regulator uclass's API.

Signed-off-by: Przemyslaw Marczak <[email protected]>
Cc: Simon Glass <[email protected]>
Signed-off-by: Minkyu Kang <[email protected]>
  • Loading branch information
bobenstein authored and MinkyuKang committed Nov 2, 2015
1 parent 35d460f commit 7c816e2
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/power/regulator/regulator-uclass.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,13 @@ int regulator_get_by_devname(const char *devname, struct udevice **devp)
return uclass_get_device_by_name(UCLASS_REGULATOR, devname, devp);
}

int device_get_supply_regulator(struct udevice *dev, const char *supply_name,
struct udevice **devp)
{
return uclass_get_device_by_phandle(UCLASS_REGULATOR, dev,
supply_name, devp);
}

int regulator_autoset(struct udevice *dev)
{
struct dm_regulator_uclass_platdata *uc_pdata;
Expand Down
16 changes: 16 additions & 0 deletions include/power/regulator.h
Original file line number Diff line number Diff line change
Expand Up @@ -419,4 +419,20 @@ int regulator_get_by_devname(const char *devname, struct udevice **devp);
*/
int regulator_get_by_platname(const char *platname, struct udevice **devp);

/**
* device_get_supply_regulator: returns the pointer to the supply regulator.
* Search by phandle, found in device's node.
*
* Note: Please pay attention to proper order of device bind sequence.
* The regulator device searched by the phandle, must be binded before
* this function call.
*
* @dev - device with supply phandle
* @supply_name - phandle name of regulator
* @devp - returned pointer to the supply device
* @return 0 on success or negative value of errno.
*/
int device_get_supply_regulator(struct udevice *dev, const char *supply_name,
struct udevice **devp);

#endif /* _INCLUDE_REGULATOR_H_ */

0 comments on commit 7c816e2

Please sign in to comment.