From e7fe2c7bc60d9963f8309d0094fec753b767fd36 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 28 Aug 2025 15:42:21 +0200 Subject: [PATCH] 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 Link: https://lore.kernel.org/r/c4d546553d4f0d69ef75fb1132b7121f36dd306c.1756388537.git.michal.simek@amd.com --- drivers/clk/clk_versal.c | 13 +++++++++++-- 1 file 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 }, { } }; -- 2.47.3