linux/drivers/misc
Dasaratharaman Chandramouli af190494f9 misc: mic: Enable OSPM suspend and resume support.
This patch enables support for OSPM suspend and resume in the MIC
driver. During a host suspend event, the driver performs an
orderly shutdown of the cards if they are online. Upon resume, any
cards that were previously online before suspend are rebooted.
The driver performs an orderly shutdown of the card primarily to
ensure that applications in the card are terminated and mounted
devices are safely un-mounted before the card is powered down in
the event of an OSPM suspend.

The driver makes use of the MIC daemon to accomplish OSPM suspend
and resume. The driver registers a PM notifier per MIC device.
The devices get notified synchronously during PM_SUSPEND_PREPARE and
PM_POST_SUSPEND phases.

During the PM_SUSPEND_PREPARE phase, the driver performs one of the
following three tasks.
1) If the card is 'offline', the driver sets the card to a
   'suspended' state and returns.
2) If the card is 'online', the driver initiates card shutdown by
   setting the card state to suspending. This notifies the MIC
   daemon which invokes shutdown and sets card state to 'suspended'.
   The driver returns after the shutdown is complete.
3) If the card is already being shutdown, possibly by a host user
   space application, the driver sets the card state to 'suspended'
   and returns after the shutdown is complete.

During the PM_POST_SUSPEND phase, the driver simply notifies the
daemon and returns. The daemon boots those cards that were previously
online during the suspend phase.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Signed-off-by: Harshavardhan R Kharche <harshavardhan.r.kharche@intel.com>
Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com>
Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-05 18:01:42 -07:00
..
altera-stapl
c2port c2port: convert class code to use bin_attrs in groups 2013-07-24 15:39:05 -07:00
carma misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
cb710 mmc: cb710: drop free_irq for devm_request_irq allocated irq 2013-09-26 13:55:30 -07:00
eeprom ARM: sunxi: Initial support for Allwinner's Security ID fuses 2013-09-26 13:47:36 -07:00
ibmasm misc: ibmasm: remove unnecessary pci_set_drvdata() 2013-09-26 09:13:54 -07:00
lis3lv02d misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
mei mei: amthif: mei_amthif_host_init: propagate errors from called functions 2013-10-03 16:01:16 -07:00
mic misc: mic: Enable OSPM suspend and resume support. 2013-10-05 18:01:42 -07:00
sgi-gru drivers/misc/sgi-gru/grufault.c: fix a sanity test in gru_set_context_option() 2013-07-03 16:07:42 -07:00
sgi-xp sgi: xpc: Convert use of typedef ctl_table to struct ctl_table 2013-06-14 10:19:25 +02:00
ti-st drivers: misc: ti-st: fix potential race if st_kim_start fails 2013-08-30 12:08:04 -07:00
vmw_vmci VMCI: fix to pass correct device identity to free_irq() 2013-09-26 13:47:36 -07:00
ad525x_dpot-i2c.c misc: remove use of __devexit 2012-11-21 12:53:32 -08:00
ad525x_dpot-spi.c misc: remove use of __devexit 2012-11-21 12:53:32 -08:00
ad525x_dpot.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
ad525x_dpot.h
apds990x.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
apds9802als.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
arm-charlcd.c misc: arm-charlcd: remove unnecessary platform_set_drvdata() 2013-05-16 18:11:13 -07:00
atmel_pwm.c misc: atmel_pwm: use module_platform_driver_probe() 2013-03-15 11:10:49 -07:00
atmel_tclib.c
atmel-ssc.c Merge 3.11-rc3 into char-misc-next. 2013-07-29 11:50:17 -07:00
bh1770glc.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
bh1780gli.c misc: bh1780: probe from compatible string 2013-10-03 16:02:35 -07:00
bmp085-i2c.c misc: remove use of __devinit 2012-11-21 12:51:53 -08:00
bmp085-spi.c misc: remove use of __devinit 2012-11-21 12:51:53 -08:00
bmp085.c drivers: misc: bmp085: remove '__init' from mp085_get_of_properties() 2013-09-26 08:44:40 -07:00
bmp085.h
cs5535-mfgpt.c cs5535-mfgpt: Fix quotation marks 2013-04-03 11:23:13 -07:00
ds1682.c
dummy-irq.c treewide: Fix typo in printk 2013-05-28 12:02:13 +02:00
enclosure.c enclosure: convert class code to use dev_groups 2013-07-24 15:39:04 -07:00
ep93xx_pwm.c misc/ep93xx_pwm: use kstrtol instead of strict_strtol 2013-05-30 21:54:07 +09:00
fsa9480.c misc: fsa8480: Use dev_pm_ops 2013-04-11 12:39:02 -07:00
hmc6352.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
hpilo.c drivers/misc/hpilo: Correct panic when an AUX iLO is detected 2013-08-14 14:46:22 -07:00
hpilo.h misc: hpilo: increase number of max supported channels 2012-06-14 17:22:12 -07:00
ics932s401.c hwmon: Change my email address. 2013-08-27 08:28:01 -07:00
ioc4.c misc: remove use of __devexit 2012-11-21 12:53:32 -08:00
isl29003.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
isl29020.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
Kconfig Intel MIC Host Driver for X100 family. 2013-09-26 13:49:23 -07:00
kgdbts.c kgdb/kgdbts: support ppc64 2013-03-02 08:52:17 -06:00
lattice-ecp3-config.c treewide: Fix typo in printk 2013-05-28 12:02:13 +02:00
lkdtm.c lkdtm: add "EXEC_*" triggers 2013-07-24 22:47:20 -07:00
Makefile Intel MIC Host Driver for X100 family. 2013-09-26 13:49:23 -07:00
pch_phub.c pch_phub: fix error return code in pch_phub_probe() 2013-06-06 12:54:08 -07:00
phantom.c misc: remove use of __devexit 2012-11-21 12:53:32 -08:00
pti.c misc: pti: remove unnecessary pci_set_drvdata() 2013-09-26 09:13:54 -07:00
spear13xx_pcie_gadget.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
sram.c misc: sram: fix error path in sram_probe 2013-07-24 22:54:50 -07:00
ti_dac7512.c drivers: misc: ti_dac7512: add support for DT matching 2013-09-26 09:04:06 -07:00
tifm_7xx1.c misc: tifm: remove unnecessary pci_set_drvdata() 2013-09-26 09:13:53 -07:00
tifm_core.c misc/tifm_core: convert to idr_alloc() 2013-02-27 19:10:17 -08:00
tsl2550.c Drivers: Misc: tsl2250: fix warnings, unsigned long will never < 0 2013-05-16 18:11:12 -07:00
vmw_balloon.c misc: vmw_balloon: Remove braces to fix build for clang. 2013-08-27 21:51:21 -07:00