Lines Matching refs:bdev
165 struct bcm_device *bdev = data; in bcm_host_wake() local
167 bt_dev_dbg(bdev, "Host wake IRQ"); in bcm_host_wake()
169 pm_runtime_get(&bdev->pdev->dev); in bcm_host_wake()
170 pm_runtime_mark_last_busy(&bdev->pdev->dev); in bcm_host_wake()
171 pm_runtime_put_autosuspend(&bdev->pdev->dev); in bcm_host_wake()
178 struct bcm_device *bdev = bcm->dev; in bcm_request_irq() local
183 if (!bcm_device_exists(bdev)) { in bcm_request_irq()
188 if (bdev->irq > 0) { in bcm_request_irq()
189 err = devm_request_irq(&bdev->pdev->dev, bdev->irq, in bcm_request_irq()
191 "host_wake", bdev); in bcm_request_irq()
195 device_init_wakeup(&bdev->pdev->dev, true); in bcm_request_irq()
197 pm_runtime_set_autosuspend_delay(&bdev->pdev->dev, in bcm_request_irq()
199 pm_runtime_use_autosuspend(&bdev->pdev->dev); in bcm_request_irq()
200 pm_runtime_set_active(&bdev->pdev->dev); in bcm_request_irq()
201 pm_runtime_enable(&bdev->pdev->dev); in bcm_request_irq()
317 struct bcm_device *bdev = bcm->dev; in bcm_close() local
323 if (bcm_device_exists(bdev)) { in bcm_close()
324 bcm_gpio_set_power(bdev, false); in bcm_close()
326 pm_runtime_disable(&bdev->pdev->dev); in bcm_close()
327 pm_runtime_set_suspended(&bdev->pdev->dev); in bcm_close()
329 if (device_can_wakeup(&bdev->pdev->dev)) { in bcm_close()
330 devm_free_irq(&bdev->pdev->dev, bdev->irq, bdev); in bcm_close()
331 device_init_wakeup(&bdev->pdev->dev, false); in bcm_close()
334 bdev->hu = NULL; in bcm_close()
485 struct bcm_device *bdev = NULL; in bcm_dequeue() local
490 bdev = bcm->dev; in bcm_dequeue()
491 pm_runtime_get_sync(&bdev->pdev->dev); in bcm_dequeue()
497 if (bdev) { in bcm_dequeue()
498 pm_runtime_mark_last_busy(&bdev->pdev->dev); in bcm_dequeue()
499 pm_runtime_put_autosuspend(&bdev->pdev->dev); in bcm_dequeue()
510 struct bcm_device *bdev = platform_get_drvdata(to_platform_device(dev)); in bcm_suspend_device() local
512 bt_dev_dbg(bdev, ""); in bcm_suspend_device()
514 if (!bdev->is_suspended && bdev->hu) { in bcm_suspend_device()
515 hci_uart_set_flow_control(bdev->hu, true); in bcm_suspend_device()
518 bdev->is_suspended = true; in bcm_suspend_device()
522 if (bdev->device_wakeup) { in bcm_suspend_device()
523 gpiod_set_value(bdev->device_wakeup, false); in bcm_suspend_device()
524 bt_dev_dbg(bdev, "suspend, delaying 15 ms"); in bcm_suspend_device()
533 struct bcm_device *bdev = platform_get_drvdata(to_platform_device(dev)); in bcm_resume_device() local
535 bt_dev_dbg(bdev, ""); in bcm_resume_device()
537 if (bdev->device_wakeup) { in bcm_resume_device()
538 gpiod_set_value(bdev->device_wakeup, true); in bcm_resume_device()
539 bt_dev_dbg(bdev, "resume, delaying 15 ms"); in bcm_resume_device()
544 if (bdev->is_suspended && bdev->hu) { in bcm_resume_device()
545 bdev->is_suspended = false; in bcm_resume_device()
547 hci_uart_set_flow_control(bdev->hu, false); in bcm_resume_device()
558 struct bcm_device *bdev = platform_get_drvdata(to_platform_device(dev)); in bcm_suspend() local
561 bt_dev_dbg(bdev, "suspend: is_suspended %d", bdev->is_suspended); in bcm_suspend()
569 if (!bdev->hu) in bcm_suspend()
575 if (device_may_wakeup(&bdev->pdev->dev)) { in bcm_suspend()
576 error = enable_irq_wake(bdev->irq); in bcm_suspend()
578 bt_dev_dbg(bdev, "BCM irq: enabled"); in bcm_suspend()
590 struct bcm_device *bdev = platform_get_drvdata(to_platform_device(dev)); in bcm_resume() local
592 bt_dev_dbg(bdev, "resume: is_suspended %d", bdev->is_suspended); in bcm_resume()
600 if (!bdev->hu) in bcm_resume()
603 if (device_may_wakeup(&bdev->pdev->dev)) { in bcm_resume()
604 disable_irq_wake(bdev->irq); in bcm_resume()
605 bt_dev_dbg(bdev, "BCM irq: disabled"); in bcm_resume()