Subject: [linux-sunxi] Re: [PATCH v4 01/11] clk: sunxi: Add display and TCON0 clocks driver

From: [email-masked] (Priit Laes)
Date: Tue, 10 May 2016 22:10:59 +0300

On Mon, 2016-05-09 at 15:39 -0700, Stephen Boyd wrote:
> On 05/09, Stephen Boyd wrote:
> > 
> > 
> > Ok I applied this one to clk-next.
> > 
> And I squashed this in to silence the following checker warning.
> 
> drivers/clk/sunxi/clk-sun4i-display.c:110:33: warning: Variable
> length array is used.
> 
> ---8<---
> diff --git a/drivers/clk/sunxi/clk-sun4i-display.c
> b/drivers/clk/sunxi/clk-sun4i-display.c
> index f02e250e64ed..f8ff6c4a5633 100644
> --- a/drivers/clk/sunxi/clk-sun4i-display.c
> +++ b/drivers/clk/sunxi/clk-sun4i-display.c
> @@ -107,7 +107,7 @@ static int sun4i_a10_display_reset_xlate(struct
> reset_controller_dev *rcdev,
> ?static void __init sun4i_a10_display_init(struct device_node *node,
> ?					??const struct
> sun4i_a10_display_clk_data *data)
> ?{
> -	const char *parents[data->parents];
> +	const char *parents[4];
> ?	const char *clk_name = node->name;
> ?	struct reset_data *reset_data;
> ?	struct clk_divider *div = NULL;
> @@ -126,8 +126,8 @@ static void __init sun4i_a10_display_init(struct
> device_node *node,
> ?		return;
> ?	}
> ?
> -	ret = of_clk_parent_fill(node, parents, data->parents);
> -	if (ret != data->parents) {
> +	ret = of_clk_parent_fill(node, parents,
> ARRAY_SIZE(parents));
> +	if (ret != ARRAY_SIZE(parents)) {
> ?		pr_err("%s: Could not retrieve the parents\n",
> clk_name);
> ?		goto unmap;
> ?	}

This change breaks at least de_[bf]e clocks which have 3 clock parents.