Lines Matching defs:bdev

301 	struct bcm_device *bdev = data;
303 bt_dev_dbg(bdev, "Host wake IRQ");
305 pm_runtime_get(bdev->dev);
306 pm_runtime_mark_last_busy(bdev->dev);
307 pm_runtime_put_autosuspend(bdev->dev);
314 struct bcm_device *bdev = bcm->dev;
318 if (!bcm_device_exists(bdev)) {
323 if (bdev->irq <= 0) {
328 err = devm_request_irq(bdev->dev, bdev->irq, bcm_host_wake,
329 bdev->irq_active_low ? IRQF_TRIGGER_FALLING :
331 "host_wake", bdev);
333 bdev->irq = err;
337 bdev->irq_acquired = true;
339 device_init_wakeup(bdev->dev, true);
341 pm_runtime_set_autosuspend_delay(bdev->dev,
343 pm_runtime_use_autosuspend(bdev->dev);
344 pm_runtime_set_active(bdev->dev);
345 pm_runtime_enable(bdev->dev);
502 struct bcm_device *bdev = NULL;
511 bdev = serdev_device_get_drvdata(hu->serdev);
513 bdev = bcm->dev;
515 bdev->hu = NULL;
519 if (bdev) {
520 if (IS_ENABLED(CONFIG_PM) && bdev->irq_acquired) {
521 devm_free_irq(bdev->dev, bdev->irq, bdev);
522 device_init_wakeup(bdev->dev, false);
523 pm_runtime_disable(bdev->dev);
526 err = bcm_gpio_set_power(bdev, false);
530 pm_runtime_set_suspended(bdev->dev);
708 struct bcm_device *bdev = NULL;
713 bdev = bcm->dev;
714 pm_runtime_get_sync(bdev->dev);
720 if (bdev) {
721 pm_runtime_mark_last_busy(bdev->dev);
722 pm_runtime_put_autosuspend(bdev->dev);
733 struct bcm_device *bdev = dev_get_drvdata(dev);
736 bt_dev_dbg(bdev, "");
738 if (!bdev->is_suspended && bdev->hu) {
739 hci_uart_set_flow_control(bdev->hu, true);
742 bdev->is_suspended = true;
746 err = bdev->set_device_wakeup(bdev, false);
748 if (bdev->is_suspended && bdev->hu) {
749 bdev->is_suspended = false;
750 hci_uart_set_flow_control(bdev->hu, false);
755 bt_dev_dbg(bdev, "suspend, delaying 15 ms");
763 struct bcm_device *bdev = dev_get_drvdata(dev);
766 bt_dev_dbg(bdev, "");
768 err = bdev->set_device_wakeup(bdev, true);
774 bt_dev_dbg(bdev, "resume, delaying 15 ms");
778 if (bdev->is_suspended && bdev->hu) {
779 bdev->is_suspended = false;
781 hci_uart_set_flow_control(bdev->hu, false);
792 struct bcm_device *bdev = dev_get_drvdata(dev);
795 bt_dev_dbg(bdev, "suspend: is_suspended %d", bdev->is_suspended);
805 if (!bdev->hu)
811 if (device_may_wakeup(dev) && bdev->irq > 0) {
812 error = enable_irq_wake(bdev->irq);
814 bt_dev_dbg(bdev, "BCM irq: enabled");
826 struct bcm_device *bdev = dev_get_drvdata(dev);
829 bt_dev_dbg(bdev, "resume: is_suspended %d", bdev->is_suspended);
839 if (!bdev->hu)
842 if (device_may_wakeup(dev) && bdev->irq > 0) {
843 disable_irq_wake(bdev->irq);
844 bt_dev_dbg(bdev, "BCM irq: disabled");
1146 static int bcm_of_probe(struct bcm_device *bdev)
1148 device_property_read_u32(bdev->dev, "max-speed", &bdev->oper_speed);
1149 device_property_read_u8_array(bdev->dev, "brcm,bt-pcm-int-params",
1150 bdev->pcm_int_params, 5);
1151 bdev->irq = of_irq_get_byname(bdev->dev->of_node, "host-wakeup");
1152 bdev->irq_active_low = irq_get_trigger_type(bdev->irq)