diff options
author | Amit Shah <amit.shah@redhat.com> | 2011-12-22 06:28:26 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-01-12 00:14:44 -0500 |
commit | f0fe6f11503fa9880867554350ac5d3092c47251 (patch) | |
tree | 0f95d79a528809e169a742afeafddd041d275181 /include/linux/virtio.h | |
parent | d077536386595309060dda57e7b7474c501a589b (diff) |
virtio: pci: add PM notification handlers for restore, freeze, thaw, poweroff
Handle thaw, restore and freeze notifications from the PM core. Expose
these to individual virtio drivers that can quiesce and resume vq
operations. For drivers not implementing the thaw() method, use the
restore method instead.
These functions also save device-specific data so that the device can be
put in pre-suspend state after resume, and disable and enable the PCI
device in the freeze and resume functions, respectively.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/virtio.h')
-rw-r--r-- | include/linux/virtio.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/virtio.h b/include/linux/virtio.h index 31fe3a62874b..d0018d27c281 100644 --- a/include/linux/virtio.h +++ b/include/linux/virtio.h | |||
@@ -94,6 +94,11 @@ struct virtio_driver { | |||
94 | int (*probe)(struct virtio_device *dev); | 94 | int (*probe)(struct virtio_device *dev); |
95 | void (*remove)(struct virtio_device *dev); | 95 | void (*remove)(struct virtio_device *dev); |
96 | void (*config_changed)(struct virtio_device *dev); | 96 | void (*config_changed)(struct virtio_device *dev); |
97 | #ifdef CONFIG_PM | ||
98 | int (*freeze)(struct virtio_device *dev); | ||
99 | int (*thaw)(struct virtio_device *dev); | ||
100 | int (*restore)(struct virtio_device *dev); | ||
101 | #endif | ||
97 | }; | 102 | }; |
98 | 103 | ||
99 | int register_virtio_driver(struct virtio_driver *drv); | 104 | int register_virtio_driver(struct virtio_driver *drv); |