Unverified Commit 5f4081d6 authored by Jerome Brunet's avatar Jerome Brunet Committed by Stephen Boyd
Browse files

clk: add a clk_hw helpers to get the clock device or device_node



Add helpers to get the device or device_node associated with clk_hw.

This can be used by clock drivers to access various device related
functionality such as devres, dev_ prints, etc ...

Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20250417-clk-hw-get-helpers-v1-1-7743e509612a@baylibre.com


Reviewed-by: default avatarBrian Masney <bmasney@redhat.com>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 19272b37
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -365,6 +365,18 @@ const char *clk_hw_get_name(const struct clk_hw *hw)
}
EXPORT_SYMBOL_GPL(clk_hw_get_name);

struct device *clk_hw_get_dev(const struct clk_hw *hw)
{
	return hw->core->dev;
}
EXPORT_SYMBOL_GPL(clk_hw_get_dev);

struct device_node *clk_hw_get_of_node(const struct clk_hw *hw)
{
	return hw->core->of_node;
}
EXPORT_SYMBOL_GPL(clk_hw_get_of_node);

struct clk_hw *__clk_get_hw(struct clk *clk)
{
	return !clk ? NULL : clk->core->hw;
+26 −0
Original line number Diff line number Diff line
@@ -1360,6 +1360,32 @@ void clk_hw_unregister(struct clk_hw *hw);
/* helper functions */
const char *__clk_get_name(const struct clk *clk);
const char *clk_hw_get_name(const struct clk_hw *hw);

/**
 * clk_hw_get_dev() - get device from an hardware clock.
 * @hw: the clk_hw pointer to get the struct device from
 *
 * This is a helper to get the struct device associated with a hardware
 * clock. Some clock controllers, such as the one registered with
 * CLK_OF_DECLARE(), may have not provided a device pointer while
 * registering the clock.
 *
 * Return: the struct device associated with the clock, or NULL if there
 * is none.
 */
struct device *clk_hw_get_dev(const struct clk_hw *hw);

/**
 * clk_hw_get_of_node() - get device_node from a hardware clock.
 * @hw: the clk_hw pointer to get the struct device_node from
 *
 * This is a helper to get the struct device_node associated with a
 * hardware clock.
 *
 * Return: the struct device_node associated with the clock, or NULL
 * if there is none.
 */
struct device_node *clk_hw_get_of_node(const struct clk_hw *hw);
#ifdef CONFIG_COMMON_CLK
struct clk_hw *__clk_get_hw(struct clk *clk);
#else