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

Priit Laes
2016-05-10T19:11:11Z

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.