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

> So far the clk_hw_register_fixed_factor() calls are 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 4 TBG
> clocks (registered by this driver) and:
> * their parent clock: XTAL,
> * their child clocks: several 'periph' clock.
>
> Signed-off-by: Miquel Raynal <[email protected]>

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

Thanks,

Gregory

> ---
>  drivers/clk/mvebu/armada-37xx-tbg.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/mvebu/armada-37xx-tbg.c 
> b/drivers/clk/mvebu/armada-37xx-tbg.c
> index 77b978c55ef6..da3a08e419d6 100644
> --- a/drivers/clk/mvebu/armada-37xx-tbg.c
> +++ b/drivers/clk/mvebu/armada-37xx-tbg.c
> @@ -116,8 +116,10 @@ static int armada_3700_tbg_clock_probe(struct 
> platform_device *pdev)
>               name = tbg[i].name;
>               mult = tbg_get_mult(reg, &tbg[i]);
>               div = tbg_get_div(reg, &tbg[i]);
> -             hw_tbg_data->hws[i] = clk_hw_register_fixed_factor(NULL, name,
> -                                             parent_name, 0, mult, div);
> +             hw_tbg_data->hws[i] = clk_hw_register_fixed_factor(dev, name,
> +                                                                parent_name,
> +                                                                0, mult,
> +                                                                div);
>               if (IS_ERR(hw_tbg_data->hws[i]))
>                       dev_err(dev, "Can't register TBG clock %s\n", name);
>       }
> -- 
> 2.19.1
>

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

Reply via email to