usb: otg_id: add suspend/resume interface
authorDima Zavin <dima@android.com>
Fri, 9 Sep 2011 16:25:05 +0000 (09:25 -0700)
committerDan Willemsen <dwillemsen@nvidia.com>
Thu, 1 Dec 2011 05:39:04 +0000 (21:39 -0800)
commitec2e6c72e4557774ee6913f5c4bb560236f56015
treebbe10893bfe071ce7bed39f1e56b94930792869a
parent76a22ac439a4048bc6bd012253572bb571cc66d9
usb: otg_id: add suspend/resume interface

It is possible that while one driver has already suspended,
another driver calls otg_id_notify() because it has not yet been
suspended. It would then be possible for the suspended driver's
detect callback to be called. This is undesirable.

Introduce new otg_id_suspend/otg_id_resume functions that
keep a suspended count, and if a notification happens while
someone is suspended, that notification is deferred until
all the drivers are resumed. If the notification happens before
the last driver is suspended, that suspend will be aborted
and once the final driver resumes through otg_id_resume, the
notification will be delivered.

Change-Id: I32fd32bec65e366e5f97a25c15255d94773b85b3
Signed-off-by: Dima Zavin <dima@android.com>
drivers/usb/otg/otg_id.c
include/linux/usb/otg_id.h