From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lin Ming Subject: Re: [PATCH v4 6/6] ata: add ata port runtime PM callbacks Date: Mon, 28 Nov 2011 21:50:12 +0800 Message-ID: <1322488212.3744.10.camel@hp6530s> References: <1322442950-16268-1-git-send-email-ming.m.lin@intel.com> <1322442950-16268-7-git-send-email-ming.m.lin@intel.com> <4ED35EBF.6030602@mvista.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4ED35EBF.6030602@mvista.com> Sender: linux-ide-owner@vger.kernel.org To: Sergei Shtylyov Cc: Jeff Garzik , James Bottomley , Alan Stern , Tejun Heo , "linux-kernel@vger.kernel.org" , "linux-ide@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-pm@vger.kernel.org" , "Rafael J. Wysocki" , "Huang, Ying" , "Zhang, Rui" List-Id: linux-scsi@vger.kernel.org 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 > > --- > > 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