From: Aaron Lu <aaron.lu@amd.com> To: James Bottomley <James.Bottomley@HansenPartnership.com>, Jeff Garzik <jgarzik@pobox.com>, Alan Stern <stern@rowland.harvard.edu>, Sergei Shtylyov <sshtylyov@mvista.com>, Oliver Neukum <oneukum@suse.de> Cc: Jeff Wu <jeff.wu@amd.com>, Lin Ming <minggr@gmail.com>, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org, Aaron Lu <aaron.lwe@gmail.com>, Aaron Lu <aaron.lu@amd.com> Subject: [PATCH v4 2/7] scsi: pm: add interface to autosuspend scsi device Date: Fri, 27 Jul 2012 17:00:45 +0800 [thread overview] Message-ID: <1343379650-2867-3-git-send-email-aaron.lu@amd.com> (raw) In-Reply-To: <1343379650-2867-1-git-send-email-aaron.lu@amd.com> Add a new interface scsi_autopm_put_device_autosuspend to mark last busy for the device and then put autosuspend the device. Signed-off-by: Aaron Lu <aaron.lu@amd.com> --- drivers/scsi/scsi_pm.c | 7 +++++++ include/scsi/scsi_device.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/drivers/scsi/scsi_pm.c b/drivers/scsi/scsi_pm.c index dc0ad85..83edb93 100644 --- a/drivers/scsi/scsi_pm.c +++ b/drivers/scsi/scsi_pm.c @@ -201,6 +201,13 @@ void scsi_autopm_put_device(struct scsi_device *sdev) } EXPORT_SYMBOL_GPL(scsi_autopm_put_device); +void scsi_autopm_put_device_autosuspend(struct scsi_device *sdev) +{ + pm_runtime_mark_last_busy(&sdev->sdev_gendev); + pm_runtime_put_autosuspend(&sdev->sdev_gendev); +} +EXPORT_SYMBOL_GPL(scsi_autopm_put_device_autosuspend); + void scsi_autopm_get_target(struct scsi_target *starget) { pm_runtime_get_sync(&starget->dev); diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 9895f69..3636146 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -395,9 +395,11 @@ extern int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd, #ifdef CONFIG_PM_RUNTIME extern int scsi_autopm_get_device(struct scsi_device *); extern void scsi_autopm_put_device(struct scsi_device *); +extern void scsi_autopm_put_device_autosuspend(struct scsi_device *); #else static inline int scsi_autopm_get_device(struct scsi_device *d) { return 0; } static inline void scsi_autopm_put_device(struct scsi_device *d) {} +static inline void scsi_autopm_put_device_autosuspend(struct scsi_device *d) {} #endif /* CONFIG_PM_RUNTIME */ static inline int __must_check scsi_device_reprobe(struct scsi_device *sdev) -- 1.7.11.3
WARNING: multiple messages have this Message-ID (diff)
From: Aaron Lu <aaron.lu@amd.com> To: James Bottomley <James.Bottomley@HansenPartnership.com>, Jeff Garzik <jgarzik@pobox.com>, Alan Stern <stern@rowland.harvard.edu>, Sergei Shtylyov <sshtylyov@mvista.com>, Oliver Neukum <oneukum@suse.de> Cc: Jeff Wu <jeff.wu@amd.com>, Lin Ming <minggr@gmail.com>, <linux-kernel@vger.kernel.org>, <linux-pm@vger.kernel.org>, <linux-scsi@vger.kernel.org>, <linux-ide@vger.kernel.org>, Aaron Lu <aaron.lwe@gmail.com>, Aaron Lu <aaron.lu@amd.com> Subject: [PATCH v4 2/7] scsi: pm: add interface to autosuspend scsi device Date: Fri, 27 Jul 2012 17:00:45 +0800 [thread overview] Message-ID: <1343379650-2867-3-git-send-email-aaron.lu@amd.com> (raw) In-Reply-To: <1343379650-2867-1-git-send-email-aaron.lu@amd.com> Add a new interface scsi_autopm_put_device_autosuspend to mark last busy for the device and then put autosuspend the device. Signed-off-by: Aaron Lu <aaron.lu@amd.com> --- drivers/scsi/scsi_pm.c | 7 +++++++ include/scsi/scsi_device.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/drivers/scsi/scsi_pm.c b/drivers/scsi/scsi_pm.c index dc0ad85..83edb93 100644 --- a/drivers/scsi/scsi_pm.c +++ b/drivers/scsi/scsi_pm.c @@ -201,6 +201,13 @@ void scsi_autopm_put_device(struct scsi_device *sdev) } EXPORT_SYMBOL_GPL(scsi_autopm_put_device); +void scsi_autopm_put_device_autosuspend(struct scsi_device *sdev) +{ + pm_runtime_mark_last_busy(&sdev->sdev_gendev); + pm_runtime_put_autosuspend(&sdev->sdev_gendev); +} +EXPORT_SYMBOL_GPL(scsi_autopm_put_device_autosuspend); + void scsi_autopm_get_target(struct scsi_target *starget) { pm_runtime_get_sync(&starget->dev); diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 9895f69..3636146 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -395,9 +395,11 @@ extern int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd, #ifdef CONFIG_PM_RUNTIME extern int scsi_autopm_get_device(struct scsi_device *); extern void scsi_autopm_put_device(struct scsi_device *); +extern void scsi_autopm_put_device_autosuspend(struct scsi_device *); #else static inline int scsi_autopm_get_device(struct scsi_device *d) { return 0; } static inline void scsi_autopm_put_device(struct scsi_device *d) {} +static inline void scsi_autopm_put_device_autosuspend(struct scsi_device *d) {} #endif /* CONFIG_PM_RUNTIME */ static inline int __must_check scsi_device_reprobe(struct scsi_device *sdev) -- 1.7.11.3
next prev parent reply other threads:[~2012-07-27 9:00 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-07-27 9:00 [PATCH v4 0/7] ZPODD patches Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-07-27 9:00 ` [PATCH v4 1/7] scsi: sr: check support for device busy class events Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-07-27 9:00 ` Aaron Lu [this message] 2012-07-27 9:00 ` [PATCH v4 2/7] scsi: pm: add interface to autosuspend scsi device Aaron Lu 2012-07-27 9:00 ` [PATCH v4 3/7] scsi: sr: support zero power ODD(ZPODD) Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-07-27 9:00 ` [PATCH v4 4/7] scsi: sr: block events when runtime suspended Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-08-03 9:50 ` Aaron Lu 2012-08-03 9:50 ` Aaron Lu 2012-08-03 14:52 ` Jeff Garzik 2012-08-07 6:18 ` Aaron Lu 2012-08-07 6:18 ` Aaron Lu 2012-07-27 9:00 ` [PATCH v4 5/7] scsi: pm: use runtime resume callback if available Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-07-27 9:00 ` [PATCH v4 6/7] scsi: sr: balance sr disk events block depth Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-07-27 9:00 ` [PATCH v4 7/7] block: genhd: add an interface to set disk's poll interval Aaron Lu 2012-07-27 9:00 ` Aaron Lu 2012-07-31 2:40 ` [PATCH v4 0/7] ZPODD patches Aaron Lu 2012-07-31 2:40 ` Aaron Lu 2012-07-31 8:39 ` James Bottomley
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1343379650-2867-3-git-send-email-aaron.lu@amd.com \ --to=aaron.lu@amd.com \ --cc=James.Bottomley@HansenPartnership.com \ --cc=aaron.lwe@gmail.com \ --cc=jeff.wu@amd.com \ --cc=jgarzik@pobox.com \ --cc=linux-ide@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=minggr@gmail.com \ --cc=oneukum@suse.de \ --cc=sshtylyov@mvista.com \ --cc=stern@rowland.harvard.edu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.