| .. | .. |
|---|
| 111 | 111 | return err; |
|---|
| 112 | 112 | |
|---|
| 113 | 113 | irq = platform_get_irq(dev, 0); |
|---|
| 114 | | - if (irq < 0) { |
|---|
| 115 | | - dev_err(&dev->dev, "no irq provided"); |
|---|
| 114 | + if (irq < 0) |
|---|
| 116 | 115 | return irq; |
|---|
| 117 | | - } |
|---|
| 118 | 116 | |
|---|
| 119 | 117 | hcd = usb_create_hcd(&ohci_platform_hc_driver, &dev->dev, |
|---|
| 120 | 118 | dev_name(&dev->dev)); |
|---|
| .. | .. |
|---|
| 218 | 216 | |
|---|
| 219 | 217 | device_wakeup_enable(hcd->self.controller); |
|---|
| 220 | 218 | |
|---|
| 219 | + if (of_device_is_compatible(dev->dev.of_node, |
|---|
| 220 | + "rockchip,rk3588-ohci")) |
|---|
| 221 | + device_enable_async_suspend(hcd->self.controller); |
|---|
| 222 | + |
|---|
| 221 | 223 | platform_set_drvdata(dev, hcd); |
|---|
| 222 | 224 | |
|---|
| 223 | 225 | return err; |
|---|
| .. | .. |
|---|
| 301 | 303 | } |
|---|
| 302 | 304 | |
|---|
| 303 | 305 | ohci_resume(hcd, false); |
|---|
| 306 | + |
|---|
| 307 | + pm_runtime_disable(dev); |
|---|
| 308 | + pm_runtime_set_active(dev); |
|---|
| 309 | + pm_runtime_enable(dev); |
|---|
| 310 | + |
|---|
| 304 | 311 | return 0; |
|---|
| 305 | 312 | } |
|---|
| 306 | 313 | #endif /* CONFIG_PM_SLEEP */ |
|---|