Lines Matching refs:bcm
297 static int bcm_request_irq(struct bcm_data *bcm) in bcm_request_irq() argument
299 struct bcm_device *bdev = bcm->dev; in bcm_request_irq()
354 struct bcm_data *bcm = hu->priv; in bcm_setup_sleep() local
358 sleep_params.host_wake_active = !bcm->dev->irq_active_low; in bcm_setup_sleep()
374 static inline int bcm_request_irq(struct bcm_data *bcm) { return 0; } in bcm_request_irq() argument
381 struct bcm_data *bcm = hu->priv; in bcm_set_diag() local
395 skb_queue_tail(&bcm->txq, skb); in bcm_set_diag()
403 struct bcm_data *bcm; in bcm_open() local
412 bcm = kzalloc(sizeof(*bcm), GFP_KERNEL); in bcm_open()
413 if (!bcm) in bcm_open()
416 skb_queue_head_init(&bcm->txq); in bcm_open()
418 hu->priv = bcm; in bcm_open()
423 bcm->dev = serdev_device_get_drvdata(hu->serdev); in bcm_open()
438 bcm->dev = dev; in bcm_open()
447 if (bcm->dev) { in bcm_open()
448 hu->init_speed = bcm->dev->init_speed; in bcm_open()
449 hu->oper_speed = bcm->dev->oper_speed; in bcm_open()
450 err = bcm_gpio_set_power(bcm->dev, true); in bcm_open()
461 bcm->dev->hu = NULL; in bcm_open()
465 kfree(bcm); in bcm_open()
471 struct bcm_data *bcm = hu->priv; in bcm_close() local
482 } else if (bcm_device_exists(bcm->dev)) { in bcm_close()
483 bdev = bcm->dev; in bcm_close()
504 skb_queue_purge(&bcm->txq); in bcm_close()
505 kfree_skb(bcm->rx_skb); in bcm_close()
506 kfree(bcm); in bcm_close()
514 struct bcm_data *bcm = hu->priv; in bcm_flush() local
518 skb_queue_purge(&bcm->txq); in bcm_flush()
525 struct bcm_data *bcm = hu->priv; in bcm_setup() local
584 if (!bcm_request_irq(bcm)) in bcm_setup()
630 struct bcm_data *bcm = hu->priv; in bcm_recv() local
635 bcm->rx_skb = h4_recv_buf(hu->hdev, bcm->rx_skb, data, count, in bcm_recv()
637 if (IS_ERR(bcm->rx_skb)) { in bcm_recv()
638 int err = PTR_ERR(bcm->rx_skb); in bcm_recv()
640 bcm->rx_skb = NULL; in bcm_recv()
642 } else if (!bcm->rx_skb) { in bcm_recv()
645 if (bcm->dev && bcm_device_exists(bcm->dev)) { in bcm_recv()
646 pm_runtime_get(bcm->dev->dev); in bcm_recv()
647 pm_runtime_mark_last_busy(bcm->dev->dev); in bcm_recv()
648 pm_runtime_put_autosuspend(bcm->dev->dev); in bcm_recv()
658 struct bcm_data *bcm = hu->priv; in bcm_enqueue() local
664 skb_queue_tail(&bcm->txq, skb); in bcm_enqueue()
671 struct bcm_data *bcm = hu->priv; in bcm_dequeue() local
677 if (bcm_device_exists(bcm->dev)) { in bcm_dequeue()
678 bdev = bcm->dev; in bcm_dequeue()
683 skb = skb_dequeue(&bcm->txq); in bcm_dequeue()