summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <[email protected]>2025-08-28 15:42:21 +0200
committerMichal Simek <[email protected]>2025-10-09 09:07:03 +0200
commite7fe2c7bc60d9963f8309d0094fec753b767fd36 (patch)
tree4450aa739a36b21549d8c21fcd0da6834a04f2b0
parentf791695685f0d11bcd52cdce12d5d13243fbdd39 (diff)
clk: xilinx: Separate legacy format to own handler
It is a preparation for adding enhacement format support that's why there is a need to separate current support to own function. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/c4d546553d4f0d69ef75fb1132b7121f36dd306c.1756388537.git.michal.simek@amd.com
-rw-r--r--drivers/clk/clk_versal.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/clk/clk_versal.c b/drivers/clk/clk_versal.c
index 116dfc98f41..5c6972d4d89 100644
--- a/drivers/clk/clk_versal.c
+++ b/drivers/clk/clk_versal.c
@@ -121,7 +121,12 @@ static unsigned int clock_max_idx __section(".data");
#define PM_QUERY_DATA 35
-static int versal_pm_query(struct versal_pm_query_data qdata, u32 *ret_payload)
+typedef int (*versal_pm_query_t)(struct versal_pm_query_data qdata,
+ u32 *ret_payload);
+static versal_pm_query_t __data versal_pm_query;
+
+static int versal_pm_query_legacy(struct versal_pm_query_data qdata,
+ u32 *ret_payload)
{
int ret;
@@ -668,6 +673,10 @@ static int versal_clk_probe(struct udevice *dev)
debug("%s\n", __func__);
+ versal_pm_query = (versal_pm_query_t)dev_get_driver_data(dev);
+ if (!versal_pm_query)
+ return -EINVAL;
+
ret = versal_clock_get_freq_by_name("pl_alt_ref",
dev, &pl_alt_ref_clk);
if (ret == -ENODATA) {
@@ -772,7 +781,7 @@ static struct clk_ops versal_clk_ops = {
};
static const struct udevice_id versal_clk_ids[] = {
- { .compatible = "xlnx,versal-clk" },
+ { .compatible = "xlnx,versal-clk", .data = (ulong)versal_pm_query_legacy },
{ }
};