]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Bluetooth: hci_bcm4377: Use generic power management
authorVaibhav Gupta <vaibhavgupta40@gmail.com>
Wed, 10 Dec 2025 23:21:09 +0000 (23:21 +0000)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 29 Jan 2026 18:22:42 +0000 (13:22 -0500)
Switch to the generic PCI power management framework and remove legacy
callbacks like .suspend() and .resume(). With the generic framework, the
standard PCI related work like:
        - pci_save/restore_state()
        - pci_enable/disable_device()
        - pci_set_power_state()
is handled by the PCI core and this driver should implement only
hci_bcm4377 specific operations in its respective callback functions.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/hci_bcm4377.c

index 45e6d84224ee3f8a8719ee9008fac36621ef6027..925d0a6359453e1b475e282ab9981adf79ec808d 100644 (file)
@@ -2416,8 +2416,9 @@ static int bcm4377_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                                        hdev);
 }
 
-static int bcm4377_suspend(struct pci_dev *pdev, pm_message_t state)
+static int bcm4377_suspend(struct device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev);
        struct bcm4377_data *bcm4377 = pci_get_drvdata(pdev);
        int ret;
 
@@ -2431,8 +2432,9 @@ static int bcm4377_suspend(struct pci_dev *pdev, pm_message_t state)
        return 0;
 }
 
-static int bcm4377_resume(struct pci_dev *pdev)
+static int bcm4377_resume(struct device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev);
        struct bcm4377_data *bcm4377 = pci_get_drvdata(pdev);
 
        iowrite32(BCM4377_BAR0_SLEEP_CONTROL_UNQUIESCE,
@@ -2441,6 +2443,8 @@ static int bcm4377_resume(struct pci_dev *pdev)
        return hci_resume_dev(bcm4377->hdev);
 }
 
+static DEFINE_SIMPLE_DEV_PM_OPS(bcm4377_ops, bcm4377_suspend, bcm4377_resume);
+
 static const struct dmi_system_id bcm4377_dmi_board_table[] = {
        {
                .matches = {
@@ -2541,8 +2545,7 @@ static struct pci_driver bcm4377_pci_driver = {
        .name = "hci_bcm4377",
        .id_table = bcm4377_devid_table,
        .probe = bcm4377_probe,
-       .suspend = bcm4377_suspend,
-       .resume = bcm4377_resume,
+       .driver.pm = &bcm4377_ops,
 };
 module_pci_driver(bcm4377_pci_driver);