mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 18:04:48 +00:00
clk: Add clk_resolve_parent_clk()
Add clk_resolve_parent_clk() to resolve parent clock udevice name based on clock-names DT property. This is used in SoC clock drivers to look up the clock name in clock tables, which matches a clock name in DT clock-names property, and convert it into udevice name which is used by U-Boot clock framework to look up parent clock in e.g. clk_register() using uclass_get_device_by_name(UCLASS_CLK, parent_name, &parent); Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
cc9dcba9cc
commit
1054163c4d
2 changed files with 27 additions and 0 deletions
|
@ -420,6 +420,24 @@ int clk_get_by_name_nodev(ofnode node, const char *name, struct clk *clk)
|
|||
return clk_get_by_index_nodev(node, index, clk);
|
||||
}
|
||||
|
||||
const char *
|
||||
clk_resolve_parent_clk(struct udevice *dev, const char *name)
|
||||
{
|
||||
struct udevice *parent;
|
||||
struct clk clk;
|
||||
int ret;
|
||||
|
||||
ret = uclass_get_device_by_name(UCLASS_CLK, name, &parent);
|
||||
if (!ret)
|
||||
return name;
|
||||
|
||||
ret = clk_get_by_name(dev, name, &clk);
|
||||
if (!clk.dev)
|
||||
return name;
|
||||
|
||||
return clk.dev->name;
|
||||
}
|
||||
|
||||
int clk_release_all(struct clk *clk, unsigned int count)
|
||||
{
|
||||
unsigned int i;
|
||||
|
|
|
@ -350,6 +350,15 @@ static inline int clk_get_by_name_nodev_optional(ofnode node, const char *name,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* clk_resolve_parent_clk - Determine name of clock udevice based on clock-names
|
||||
* @dev: The client udevice.
|
||||
* @name: The name of the clock to look up.
|
||||
*
|
||||
* Return name of the clock udevice which represents clock with clock-names name.
|
||||
*/
|
||||
const char *clk_resolve_parent_clk(struct udevice *dev, const char *name);
|
||||
|
||||
/**
|
||||
* enum clk_defaults_stage - What stage clk_set_defaults() is called at
|
||||
* @CLK_DEFAULTS_PRE: Called before probe. Setting of defaults for clocks owned
|
||||
|
|
Loading…
Add table
Reference in a new issue