[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170730201929.GF1382@bigcity.dyn.berto.se>
Date: Sun, 30 Jul 2017 22:19:29 +0200
From: Niklas Söderlund
<niklas.soderlund@...natech.se>
To: Andrew Lunn <andrew@...n.ch>
Cc: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
netdev@...r.kernel.org, linux-renesas-soc@...r.kernel.org
Subject: Re: [PATCH v2] ravb: add wake-on-lan support via magic packet
Hi Andrew,
On 2017-07-30 22:07:31 +0200, Andrew Lunn wrote:
> On Sun, Jul 30, 2017 at 09:51:54PM +0200, Niklas Söderlund wrote:
> > Hi Andrew,
> >
> > On 2017-07-30 19:07:38 +0200, Andrew Lunn wrote:
> > > Hi Niklas
> > >
> > > > @@ -2041,6 +2073,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;
> > >
> > > Can you get EPROBE_DEFER returned?
> >
> > I don't think so, but I'm not sure :-)
> >
> > The clock I'm trying to get is the module clock of the ravb itself, so
> > if that clock is not available (and enabled) no register writes to the
> > ravb would be possible in the first place, so i guess it's safe to
> > assume -EPROBE_DEFER can not happen here?
> >
> > I'm just trying to play it safe here since the clock is only needed to
> > support WoL, I though it best to not change behavior here. Try to get
> > the clock, if we can great we can do WoL if not then user-space will be
> > prevented from enabling WoL and nothing in the current behavior changes.
>
> Hi Nikls
>
> Well, if it can return -EPROBE_DEFER, it means sometimes WoL will be
> avalable and other times not, depending on when the clock driver
Ahh I see yes that would be indeed be bad.
> probes. However, it sounds like this is the SoCs core clock driver. If
> so, it gets loaded very early, so you are safe.
Yes this is renesas-cpg-mssr which if I understand things is a core
clock driver. It is register in drivers/clk/renesas/renesas-cpg-mssr.c
using:
subsys_initcall(cpg_mssr_init);
So I take it I'm safe. Thanks however for bringing this to my attention
I learnt something new today :-)
>
> Andrew
--
Regards,
Niklas Söderlund
Powered by blists - more mailing lists