mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
memstick: add memstick_suspend/resume_host methods
Bus driver may need to be informed that host is being suspended/resumed. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e1f19995f5
commit
d114ad54ff
3 changed files with 31 additions and 4 deletions
|
@ -561,6 +561,31 @@ void memstick_free_host(struct memstick_host *host)
|
|||
}
|
||||
EXPORT_SYMBOL(memstick_free_host);
|
||||
|
||||
/**
|
||||
* memstick_suspend_host - notify bus driver of host suspension
|
||||
* @host - host to use
|
||||
*/
|
||||
void memstick_suspend_host(struct memstick_host *host)
|
||||
{
|
||||
mutex_lock(&host->lock);
|
||||
host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_OFF);
|
||||
mutex_unlock(&host->lock);
|
||||
}
|
||||
EXPORT_SYMBOL(memstick_suspend_host);
|
||||
|
||||
/**
|
||||
* memstick_resume_host - notify bus driver of host resumption
|
||||
* @host - host to use
|
||||
*/
|
||||
void memstick_resume_host(struct memstick_host *host)
|
||||
{
|
||||
mutex_lock(&host->lock);
|
||||
host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_ON);
|
||||
mutex_unlock(&host->lock);
|
||||
memstick_detect_change(host);
|
||||
}
|
||||
EXPORT_SYMBOL(memstick_resume_host);
|
||||
|
||||
int memstick_register_driver(struct memstick_driver *drv)
|
||||
{
|
||||
drv->driver.bus = &memstick_bus_type;
|
||||
|
|
|
@ -627,17 +627,17 @@ static void tifm_ms_remove(struct tifm_dev *sock)
|
|||
|
||||
static int tifm_ms_suspend(struct tifm_dev *sock, pm_message_t state)
|
||||
{
|
||||
struct memstick_host *msh = tifm_get_drvdata(sock);
|
||||
|
||||
memstick_suspend_host(msh);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tifm_ms_resume(struct tifm_dev *sock)
|
||||
{
|
||||
struct memstick_host *msh = tifm_get_drvdata(sock);
|
||||
struct tifm_ms *host = memstick_priv(msh);
|
||||
|
||||
tifm_ms_initialize_host(host);
|
||||
memstick_detect_change(msh);
|
||||
|
||||
memstick_resume_host(msh);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -312,6 +312,8 @@ int memstick_add_host(struct memstick_host *host);
|
|||
void memstick_remove_host(struct memstick_host *host);
|
||||
void memstick_free_host(struct memstick_host *host);
|
||||
void memstick_detect_change(struct memstick_host *host);
|
||||
void memstick_suspend_host(struct memstick_host *host);
|
||||
void memstick_resume_host(struct memstick_host *host);
|
||||
|
||||
void memstick_init_req_sg(struct memstick_request *mrq, unsigned char tpc,
|
||||
struct scatterlist *sg);
|
||||
|
|
Loading…
Reference in a new issue