serial: 8250_pnp: Move to struct dev_pm_ops
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 26 Jul 2019 17:28:17 +0000 (20:28 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Sep 2019 10:43:46 +0000 (12:43 +0200)
The established way to provide PM callbacks is through struct dev_pm_ops
which is more generic.

Convert driver to use it instead of legacy approach.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20190726172817.73253-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pnp.c

index dfca33141fcc64f325bce3c51dcdc59a20df1107..de90d681b64c30e84ee1aed96ee69f2a198e9fd8 100644 (file)
@@ -498,10 +498,9 @@ static void serial_pnp_remove(struct pnp_dev *dev)
                serial8250_unregister_port(line - 1);
 }
 
-#ifdef CONFIG_PM
-static int serial_pnp_suspend(struct pnp_dev *dev, pm_message_t state)
+static int __maybe_unused serial_pnp_suspend(struct device *dev)
 {
-       long line = (long)pnp_get_drvdata(dev);
+       long line = (long)dev_get_drvdata(dev);
 
        if (!line)
                return -ENODEV;
@@ -509,26 +508,25 @@ static int serial_pnp_suspend(struct pnp_dev *dev, pm_message_t state)
        return 0;
 }
 
-static int serial_pnp_resume(struct pnp_dev *dev)
+static int __maybe_unused serial_pnp_resume(struct device *dev)
 {
-       long line = (long)pnp_get_drvdata(dev);
+       long line = (long)dev_get_drvdata(dev);
 
        if (!line)
                return -ENODEV;
        serial8250_resume_port(line - 1);
        return 0;
 }
-#else
-#define serial_pnp_suspend NULL
-#define serial_pnp_resume NULL
-#endif /* CONFIG_PM */
+
+static SIMPLE_DEV_PM_OPS(serial_pnp_pm_ops, serial_pnp_suspend, serial_pnp_resume);
 
 static struct pnp_driver serial_pnp_driver = {
        .name           = "serial",
        .probe          = serial_pnp_probe,
        .remove         = serial_pnp_remove,
-       .suspend        = serial_pnp_suspend,
-       .resume         = serial_pnp_resume,
+       .driver         = {
+               .pm     = &serial_pnp_pm_ops,
+       },
        .id_table       = pnp_dev_table,
 };