hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/drivers/net/wireless/intersil/hostap/hostap_pci.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 #define PRISM2_PCI
23
34 /* Host AP driver's support for Intersil Prism2.5 PCI cards is based on
....@@ -402,36 +403,23 @@
402403 pci_disable_device(pdev);
403404 }
404405
405
-
406
-#ifdef CONFIG_PM
407
-static int prism2_pci_suspend(struct pci_dev *pdev, pm_message_t state)
406
+static int __maybe_unused prism2_pci_suspend(struct device *dev_d)
408407 {
409
- struct net_device *dev = pci_get_drvdata(pdev);
408
+ struct net_device *dev = dev_get_drvdata(dev_d);
410409
411410 if (netif_running(dev)) {
412411 netif_stop_queue(dev);
413412 netif_device_detach(dev);
414413 }
415414 prism2_suspend(dev);
416
- pci_save_state(pdev);
417
- pci_disable_device(pdev);
418
- pci_set_power_state(pdev, PCI_D3hot);
419415
420416 return 0;
421417 }
422418
423
-static int prism2_pci_resume(struct pci_dev *pdev)
419
+static int __maybe_unused prism2_pci_resume(struct device *dev_d)
424420 {
425
- struct net_device *dev = pci_get_drvdata(pdev);
426
- int err;
421
+ struct net_device *dev = dev_get_drvdata(dev_d);
427422
428
- err = pci_enable_device(pdev);
429
- if (err) {
430
- printk(KERN_ERR "%s: pci_enable_device failed on resume\n",
431
- dev->name);
432
- return err;
433
- }
434
- pci_restore_state(pdev);
435423 prism2_hw_config(dev, 0);
436424 if (netif_running(dev)) {
437425 netif_device_attach(dev);
....@@ -440,20 +428,19 @@
440428
441429 return 0;
442430 }
443
-#endif /* CONFIG_PM */
444
-
445431
446432 MODULE_DEVICE_TABLE(pci, prism2_pci_id_table);
433
+
434
+static SIMPLE_DEV_PM_OPS(prism2_pci_pm_ops,
435
+ prism2_pci_suspend,
436
+ prism2_pci_resume);
447437
448438 static struct pci_driver prism2_pci_driver = {
449439 .name = "hostap_pci",
450440 .id_table = prism2_pci_id_table,
451441 .probe = prism2_pci_probe,
452442 .remove = prism2_pci_remove,
453
-#ifdef CONFIG_PM
454
- .suspend = prism2_pci_suspend,
455
- .resume = prism2_pci_resume,
456
-#endif /* CONFIG_PM */
443
+ .driver.pm = &prism2_pci_pm_ops,
457444 };
458445
459446 module_pci_driver(prism2_pci_driver);