Re: [PATCH v3 06/10] clk: clock-wizard: Remove the hardcoding of the clock outputs

From: Stephen Boyd
Date: Sun Jan 05 2020 - 14:56:13 EST


Quoting shubhrajyoti.datta@xxxxxxxxx (2019-11-27 22:36:13)
> diff --git a/drivers/clk/clk-xlnx-clock-wizard.c b/drivers/clk/clk-xlnx-clock-wizard.c
> index bc0354a..4c6155b 100644
> --- a/drivers/clk/clk-xlnx-clock-wizard.c
> +++ b/drivers/clk/clk-xlnx-clock-wizard.c
> @@ -493,6 +493,7 @@ static int clk_wzrd_probe(struct platform_device *pdev)
> const char *clk_name;
> struct clk_wzrd *clk_wzrd;
> struct resource *mem;
> + int outputs;
> struct device_node *np = pdev->dev.of_node;
>
> clk_wzrd = devm_kzalloc(&pdev->dev, sizeof(*clk_wzrd), GFP_KERNEL);
> @@ -583,7 +584,7 @@ static int clk_wzrd_probe(struct platform_device *pdev)
> }
>
> /* register div per output */
> - for (i = WZRD_NUM_OUTPUTS - 1; i >= 0 ; i--) {
> + for (i = outputs - 1; i >= 0 ; i--) {

Where is 'outputs' assigned in this patch?

> const char *clkout_name;
>
> if (of_property_read_string_index(np, "clock-output-names", i,
> @@ -614,7 +615,7 @@ static int clk_wzrd_probe(struct platform_device *pdev)
> if (IS_ERR(clk_wzrd->clkout[i])) {
> int j;
>
> - for (j = i + 1; j < WZRD_NUM_OUTPUTS; j++)
> + for (j = i + 1; j < outputs; j++)
> clk_unregister(clk_wzrd->clkout[j]);
> dev_err(&pdev->dev,
> "unable to register divider clock\n");