Re: [PATCH v9 6/7] clk: clock-wizard: Remove the hardcoding of the clock outputs
From: Stephen Boyd <sboyd@kernel.org>
Date: 2021-02-19 01:26:57
Also in:
linux-clk
Quoting Miquel Raynal (2021-02-18 00:37:15)
Hi Shubhrajyoti, Shubhrajyoti Datta [off-list ref] wrote on Thu, 18 Feb 2021 10:19:50 +0530:quoted
The number of output clocks are configurable in the hardware. Currently the driver registers the maximum number of outputs. Fix the same by registering only the outputs that are there. Signed-off-by: Shubhrajyoti Datta <redacted> --- v4: Assign output in this patch drivers/clk/clk-xlnx-clock-wizard.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)diff --git a/drivers/clk/clk-xlnx-clock-wizard.c b/drivers/clk/clk-xlnx-clock-wizard.c index ed3b0ef..d403a74 100644 --- a/drivers/clk/clk-xlnx-clock-wizard.c +++ b/drivers/clk/clk-xlnx-clock-wizard.c@@ -473,6 +473,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) unsigned long rate; const char *clk_name; struct clk_wzrd *clk_wzrd; + int outputs; struct device_node *np = pdev->dev.of_node; clk_wzrd = devm_kzalloc(&pdev->dev, sizeof(*clk_wzrd), GFP_KERNEL);@@ -541,6 +542,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) goto err_disable_clk; } + outputs = of_property_count_strings(np, "clock-output-names");A check on outputs validity is probably welcome. Also I usually prefer noutputs or nb_outputs for such variable name, which implies a number rather than an array, but this is personal taste.
Ideally we get rid of clock-output-names and generate them at runtime instead based on some combination of device name and something else.