Hi Wadim,

On 03/19/2018 11:39 PM, Wadim Egorov wrote:
> The generic ehci-driver (ehci-generic.c) will try to enable the clocks
> listed in the DTSI. If this fails (e.g. due to clk_enable not being
> implemented in a driver and -ENOSYS being returned by the clk-uclass),
> the driver will bail our and print an error message.

Does ehci driver update this feature recently? I think the driver works
for me before without clk_enable().

BTW, I don't think we add this kind of no use call back in clock driver
is an good idea.

Thanks,
- Kever
>
> This implements a minimal clk_enable for the RK3288 and supports the
> clocks mandatory for the EHCI controllers; as these are enabled by
> default we simply return success.
>
> Signed-off-by: Wadim Egorov <w.ego...@phytec.de>
> ---
>  drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/drivers/clk/rockchip/clk_rk3288.c 
> b/drivers/clk/rockchip/clk_rk3288.c
> index 552a71a..a028b8b 100644
> --- a/drivers/clk/rockchip/clk_rk3288.c
> +++ b/drivers/clk/rockchip/clk_rk3288.c
> @@ -893,12 +893,25 @@ static int __maybe_unused rk3288_clk_set_parent(struct 
> clk *clk, struct clk *par
>       return -ENOENT;
>  }
>  
> +static int rk3288_clk_enable(struct clk *clk)
> +{
> +     switch (clk->id) {
> +     case HCLK_USBHOST0:
> +     case HCLK_HSIC:
> +             return 0;
> +     }
> +
> +     debug("%s: unsupported clk %ld\n", __func__, clk->id);
> +     return -ENOENT;
> +}
> +
>  static struct clk_ops rk3288_clk_ops = {
>       .get_rate       = rk3288_clk_get_rate,
>       .set_rate       = rk3288_clk_set_rate,
>  #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
>       .set_parent     = rk3288_clk_set_parent,
>  #endif
> +     .enable = rk3288_clk_enable,
>  };
>  
>  static int rk3288_clk_ofdata_to_platdata(struct udevice *dev)


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to