Re: [RFC][PATCH] SPI subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > >+static int spi_suspend(struct device * dev, u32 state)
> > >+{
> > >...
> > >+ list_for_each_entry(child, &dev->children, node) {

That should probably use device_for_each_child() if you're
going to do it that way ...


> > >+  if (child->driver && child->driver->suspend) {
> > >+   ret = child->driver->suspend(child, state, SUSPEND_DISABLE);
> > >+   if (ret == 0)
> > >+    ret = child->driver->suspend(child, state, SUSPEND_SAVE_STATE);
> > >+   if (ret == 0)
> > >+    ret = child->driver->suspend(child, state, SUSPEND_POWER_DOWN);
> > >+  }
> > >+ }
> > >  
> > >
> > Oh my God. It will be called 3 times for each child
> > entry, isn't it?!
>
> OK. This stuff is probably wrong. I used the platform
> subsystem as an example. I need to do more research
> into how much work the driver core does for you.

Most platform drivers I've seen just handle the power on/off
requests.  I think there's some historical reason that the
"reason" stuff exists ... but I suspect not many folk would
get unhappy if that were removed, and those calls got simplified.

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux