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-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html