On Thu, Oct 12, 2017 at 02:20:45PM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Thu, Oct 12, 2017 at 11:55 AM, Simon Horman <ho...@verge.net.au> wrote:
> > On Thu, Oct 12, 2017 at 10:24:53AM +0200, Geert Uytterhoeven wrote:
> >> The module clock is used for two purposes:
> >>   - Wake-on-LAN (WoL), which is optional,
> >>   - gPTP Timer Increment (GTI) configuration, which is mandatory.
> >>
> >> As the clock is needed for GTI configuration anyway, WoL is always
> >> available.  Hence remove duplication and repeated obtaining of the clock
> >> by making GTI use the stored clock for WoL use.
> >
> > Hi Geert,
> >
> > I understand from the statements above that the clock must be present,
> > but I'm most sure that I understand why that means that WoL is always
> > available.
> 
> That refers to the part below: WoL was considered available iff the clock
> is available.
> 
> @@ -2073,10 +2058,11 @@ static int ravb_probe(struct platform_device *pdev)
> 
>         priv->chip_id = chip_id;
> 
> -       /* Get clock, if not found that's OK but Wake-On-Lan is unavailable */
>         priv->clk = devm_clk_get(&pdev->dev, NULL);
> -       if (IS_ERR(priv->clk))
> -               priv->clk = NULL;
> +       if (IS_ERR(priv->clk)) {
> +               error = PTR_ERR(priv->clk);
> +               goto out_release;
> +       }
> 
> But the clock must always be available, else GTI configuration
> would fail, and ravb initialization would return with an error.

Thanks, that was the information I had missed.

Belated:

Reviewed-by: Simon Horman <horms+rene...@verge.net.au>

Reply via email to