Lines Matching refs:bcm
132 /* generic bcm uart resources */
312 static int bcm_request_irq(struct bcm_data *bcm)
314 struct bcm_device *bdev = bcm->dev;
371 struct bcm_data *bcm = hu->priv;
375 sleep_params.host_wake_active = !bcm->dev->irq_active_low;
391 static inline int bcm_request_irq(struct bcm_data *bcm) { return 0; }
398 struct bcm_data *bcm = hu->priv;
412 skb_queue_tail(&bcm->txq, skb);
420 struct bcm_data *bcm;
429 bcm = kzalloc(sizeof(*bcm), GFP_KERNEL);
430 if (!bcm)
433 skb_queue_head_init(&bcm->txq);
435 hu->priv = bcm;
440 bcm->dev = serdev_device_get_drvdata(hu->serdev);
455 bcm->dev = dev;
464 if (bcm->dev) {
465 if (bcm->dev->drive_rts_on_open)
468 hu->init_speed = bcm->dev->init_speed;
473 if (!bcm->dev->no_early_set_baudrate)
474 hu->oper_speed = bcm->dev->oper_speed;
476 err = bcm_gpio_set_power(bcm->dev, true);
478 if (bcm->dev->drive_rts_on_open)
491 bcm->dev->hu = NULL;
495 kfree(bcm);
501 struct bcm_data *bcm = hu->priv;
507 /* Protect bcm->dev against removal of the device or driver */
512 } else if (bcm_device_exists(bcm->dev)) {
513 bdev = bcm->dev;
534 skb_queue_purge(&bcm->txq);
535 kfree_skb(bcm->rx_skb);
536 kfree(bcm);
544 struct bcm_data *bcm = hu->priv;
548 skb_queue_purge(&bcm->txq);
555 struct bcm_data *bcm = hu->priv;
586 else if (bcm->dev && bcm->dev->oper_speed)
587 speed = bcm->dev->oper_speed;
600 if (bcm->dev && bcm->dev->pcm_int_params[0] != 0xff) {
605 memcpy(¶ms, bcm->dev->pcm_int_params, 5);
619 if (!bcm_request_irq(bcm))
665 struct bcm_data *bcm = hu->priv;
670 bcm->rx_skb = h4_recv_buf(hu->hdev, bcm->rx_skb, data, count,
672 if (IS_ERR(bcm->rx_skb)) {
673 int err = PTR_ERR(bcm->rx_skb);
675 bcm->rx_skb = NULL;
677 } else if (!bcm->rx_skb) {
680 if (bcm->dev && bcm_device_exists(bcm->dev)) {
681 pm_runtime_get(bcm->dev->dev);
682 pm_runtime_mark_last_busy(bcm->dev->dev);
683 pm_runtime_put_autosuspend(bcm->dev->dev);
693 struct bcm_data *bcm = hu->priv;
699 skb_queue_tail(&bcm->txq, skb);
706 struct bcm_data *bcm = hu->priv;
712 if (bcm_device_exists(bcm->dev)) {
713 bdev = bcm->dev;
718 skb = skb_dequeue(&bcm->txq);