#include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/platform_device.h>
+#include <linux/pm.h>
 #include <linux/property.h>
 #include <linux/serial_core.h>
 #include <linux/serial_reg.h>
                priv->board->exit(pcidev);
 }
 
-static int __maybe_unused exar_suspend(struct device *dev)
+static int exar_suspend(struct device *dev)
 {
        struct exar8250 *priv = dev_get_drvdata(dev);
        unsigned int i;
        return 0;
 }
 
-static int __maybe_unused exar_resume(struct device *dev)
+static int exar_resume(struct device *dev)
 {
        struct exar8250 *priv = dev_get_drvdata(dev);
        unsigned int i;
        return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(exar_pci_pm, exar_suspend, exar_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(exar_pci_pm, exar_suspend, exar_resume);
 
 static const struct exar8250_board pbn_fastcom335_2 = {
        .num_ports      = 2,
        .probe          = exar_pci_probe,
        .remove         = exar_pci_remove,
        .driver         = {
-               .pm     = &exar_pci_pm,
+               .pm     = pm_sleep_ptr(&exar_pci_pm),
        },
        .id_table       = exar_pci_tbl,
 };