Hi Miquel,
 
 On mar., janv. 08 2019, Miquel Raynal <[email protected]> wrote:

> So far the clk_hw_register_fixed_factor() call was not providing any
> device structure. While doing so is harmless for regular use, the
> missing device structure may be a problem for suspend to RAM support.
>
> Since, device links have been added to clocks, links created during
> probe will enforce the suspend/resume orders. When the device is
> missing during the registration, no link can be established, hence the
> order between parent and child clocks are not enforced.
>
> Adding the device structure here will create a link between the XTAL
> clock (this one) and the four TBG clocks that are derived from it.
>
> Signed-off-by: Miquel Raynal <[email protected]>

Reviewed-by: Gregory CLEMENT <[email protected]>

Thanks,

Gregory

> ---
>  drivers/clk/mvebu/armada-37xx-xtal.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/mvebu/armada-37xx-xtal.c 
> b/drivers/clk/mvebu/armada-37xx-xtal.c
> index e9e306d4e9af..0e74bcd83d1a 100644
> --- a/drivers/clk/mvebu/armada-37xx-xtal.c
> +++ b/drivers/clk/mvebu/armada-37xx-xtal.c
> @@ -57,7 +57,8 @@ static int armada_3700_xtal_clock_probe(struct 
> platform_device *pdev)
>               rate = 25000000;
>  
>       of_property_read_string_index(np, "clock-output-names", 0, &xtal_name);
> -     xtal_hw = clk_hw_register_fixed_rate(NULL, xtal_name, NULL, 0, rate);
> +     xtal_hw = clk_hw_register_fixed_rate(&pdev->dev, xtal_name, NULL, 0,
> +                                          rate);
>       if (IS_ERR(xtal_hw))
>               return PTR_ERR(xtal_hw);
>       ret = of_clk_add_hw_provider(np, of_clk_hw_simple_get, xtal_hw);
> -- 
> 2.19.1
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

Reply via email to