lkml.org 
[lkml]   [2011]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 01/12] virtio: pci: switch to new PM API
    Date
    The older PM API doesn't have a way to get notifications on hibernate
    events. Switch to the newer one that gives us those notifications.

    Signed-off-by: Amit Shah <amit.shah@redhat.com>
    ---
    drivers/virtio/virtio_pci.c | 16 ++++++++++++----
    1 files changed, 12 insertions(+), 4 deletions(-)

    diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
    index 03d1984..23e1532 100644
    --- a/drivers/virtio/virtio_pci.c
    +++ b/drivers/virtio/virtio_pci.c
    @@ -708,19 +708,28 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev)
    }

    #ifdef CONFIG_PM
    -static int virtio_pci_suspend(struct pci_dev *pci_dev, pm_message_t state)
    +static int virtio_pci_suspend(struct device *dev)
    {
    + struct pci_dev *pci_dev = to_pci_dev(dev);
    +
    pci_save_state(pci_dev);
    pci_set_power_state(pci_dev, PCI_D3hot);
    return 0;
    }

    -static int virtio_pci_resume(struct pci_dev *pci_dev)
    +static int virtio_pci_resume(struct device *dev)
    {
    + struct pci_dev *pci_dev = to_pci_dev(dev);
    +
    pci_restore_state(pci_dev);
    pci_set_power_state(pci_dev, PCI_D0);
    return 0;
    }
    +
    +static const struct dev_pm_ops virtio_pci_pm_ops = {
    + .suspend = virtio_pci_suspend,
    + .resume = virtio_pci_resume,
    +};
    #endif

    static struct pci_driver virtio_pci_driver = {
    @@ -729,8 +738,7 @@ static struct pci_driver virtio_pci_driver = {
    .probe = virtio_pci_probe,
    .remove = __devexit_p(virtio_pci_remove),
    #ifdef CONFIG_PM
    - .suspend = virtio_pci_suspend,
    - .resume = virtio_pci_resume,
    + .driver.pm = &virtio_pci_pm_ops,
    #endif
    };

    --
    1.7.7.3


    \
     
     \ /
      Last update: 2011-12-06 20:51    [W:0.033 / U:0.044 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site