Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: 8250_pnp: Move to struct dev_pm_ops

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>

authored by

Andy Shevchenko and committed by
Greg Kroah-Hartman
72d81961 fdc2de87

+9 -11
+9 -11
drivers/tty/serial/8250/8250_pnp.c
··· 498 498 serial8250_unregister_port(line - 1); 499 499 } 500 500 501 - #ifdef CONFIG_PM 502 - static int serial_pnp_suspend(struct pnp_dev *dev, pm_message_t state) 501 + static int __maybe_unused serial_pnp_suspend(struct device *dev) 503 502 { 504 - long line = (long)pnp_get_drvdata(dev); 503 + long line = (long)dev_get_drvdata(dev); 505 504 506 505 if (!line) 507 506 return -ENODEV; ··· 508 509 return 0; 509 510 } 510 511 511 - static int serial_pnp_resume(struct pnp_dev *dev) 512 + static int __maybe_unused serial_pnp_resume(struct device *dev) 512 513 { 513 - long line = (long)pnp_get_drvdata(dev); 514 + long line = (long)dev_get_drvdata(dev); 514 515 515 516 if (!line) 516 517 return -ENODEV; 517 518 serial8250_resume_port(line - 1); 518 519 return 0; 519 520 } 520 - #else 521 - #define serial_pnp_suspend NULL 522 - #define serial_pnp_resume NULL 523 - #endif /* CONFIG_PM */ 521 + 522 + static SIMPLE_DEV_PM_OPS(serial_pnp_pm_ops, serial_pnp_suspend, serial_pnp_resume); 524 523 525 524 static struct pnp_driver serial_pnp_driver = { 526 525 .name = "serial", 527 526 .probe = serial_pnp_probe, 528 527 .remove = serial_pnp_remove, 529 - .suspend = serial_pnp_suspend, 530 - .resume = serial_pnp_resume, 528 + .driver = { 529 + .pm = &serial_pnp_pm_ops, 530 + }, 531 531 .id_table = pnp_dev_table, 532 532 }; 533 533