pci_read_config_word(pdev, 0x62, &port_wake);
                if (port_wake & 0x0001) {
                        dev_warn(&pdev->dev, "Enabling legacy PCI PM\n");
-                       device_init_wakeup(&pdev->dev, 1);
+                       device_set_wakeup_capable(&pdev->dev, 1);
                }
        }
 
 
         * to be checked in case boot firmware (BIOS/SMM/...) has set up
         * wakeup in a way the bus isn't aware of (e.g., legacy PCI PM).
         * If the bus glue detected wakeup capability then it should
-        * already be enabled.  Either way, if wakeup should be enabled
-        * but isn't, we'll enable it now.
+        * already be enabled; if so we'll just enable it again.
         */
-       if ((ohci->hc_control & OHCI_CTRL_RWC) != 0
-                       && !device_can_wakeup(hcd->self.controller))
-               device_init_wakeup(hcd->self.controller, 1);
+       if ((ohci->hc_control & OHCI_CTRL_RWC) != 0)
+               device_set_wakeup_capable(hcd->self.controller, 1);
 
        switch (ohci->hc_control & OHCI_CTRL_HCFS) {
        case OHCI_USB_OPER: