Hi Pavel,

On Monday, May 20, 2019 17:08 Pavel Machek wrote:
> > > Hi!
> > >
> > > > > > +static int rcpm_pm_prepare(struct device *dev) {
> > > > > > +   struct device_node *np = dev->of_node;
> > > > > > +   struct wakeup_source *ws;
> > > > > > +   struct rcpm *rcpm;
> > > > > > +   u32 value[RCPM_WAKEUP_CELL_MAX_SIZE + 1], tmp;
> > > > > > +   int i, ret;
> > > > > > +
> > > > > > +   rcpm = dev_get_drvdata(dev);
> > > > > > +   if (!rcpm)
> > > > > > +           return -EINVAL;
> > > > > > +
> > > > > > +   /* Begin with first registered wakeup source */
> > > > > > +   ws = wakeup_source_get_next(NULL);
> > > > > > +   while (ws) {
> > > > >
> > > > > while (ws = wakeup_source_get_next(NULL)) ?
> > > >
> > > > Actually, we only pass NULL to wakeup_source_get_next() at very
> > > > first call to get 1st wakeup source. Then in the while loop, we
> > > > will fetch next source but not 1st, that's different. I am afraid
> > > > your suggestion is not quite correct.
> > >
> > > Sorry, I seen your next version before seeing this explanation.
> > >
> > > You are right, but the current code is "interesting". What about
> > >
> > >     ws = NULL;
> > >     while (ws = wakeup_source_get_next(NULL)) ...
> > >
> > > then?
> >
> > Did you mean:
> >      ws = NULL;
> >      while (ws = wakeup_source_get_next(ws)) ...
> >
> >    Yes, that will be the same to my original logic, do you recommend
> > to change to this? :)
> 
> Yes please. It will be less confusing to the reader.

OK, if no other comment, I will work out v4, fix this and extra ','
 
> Thanks (and sorry for cross-talk),

That's OK, thanks for your time.

Regards,
Ran

Reply via email to