Re: [PATCH v4 6/6] ata: add ata port runtime PM callbacks

From: Lin Ming
Date: Mon Nov 28 2011 - 08:51:39 EST


On Mon, 2011-11-28 at 18:13 +0800, Sergei Shtylyov wrote:
> Hello.
>
> On 28-11-2011 5:15, Lin Ming wrote:
>
> > Add ata port runtime suspend/resume/idle callbacks.
> > Set ->eh_noresume to skip the runtime PM calls on scsi host
> > in the error handler to avoid dead lock.
>
> > Signed-off-by: Lin Ming<ming.m.lin@xxxxxxxxx>
> > ---
> > drivers/ata/libata-core.c | 10 ++++++++++
> > drivers/ata/libata-scsi.c | 1 +
> > drivers/ata/libata-transport.c | 4 ++++
> > 3 files changed, 15 insertions(+), 0 deletions(-)
>
> > diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> > index 04c208e..15a3d4d 100644
> > --- a/drivers/ata/libata-core.c
> > +++ b/drivers/ata/libata-core.c
> [...]
> > @@ -5307,9 +5308,18 @@ static int ata_port_resume(struct device *dev)
> > return rc;
> > }
> >
> > +static int ata_port_runtime_idle(struct device *dev)
> > +{
> > + return pm_runtime_suspend(dev);
> > +}
> > +
> > static const struct dev_pm_ops ata_port_pm_ops = {
> > .suspend = ata_port_suspend,
> > .resume = ata_port_resume,
> > +
> > + .runtime_suspend = ata_port_suspend_common,
> > + .runtime_resume = ata_port_resume,
> > + .runtime_idle = ata_port_runtime_idle,
>
> Can't use set this to pm_runtime_suspend directly?

No.

pm_runtime_suspend is a runtime PM core helper function,
It will call driver's .runtime_suspend callback.

>
> MBR, Sergei


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