Lines Matching full:ll
89 struct ll_struct *ll = hu->priv; in send_hcill_cmd() local
105 skb_queue_tail(&ll->txq, skb); in send_hcill_cmd()
113 struct ll_struct *ll; in ll_open() local
117 ll = kzalloc(sizeof(*ll), GFP_KERNEL); in ll_open()
118 if (!ll) in ll_open()
121 skb_queue_head_init(&ll->txq); in ll_open()
122 skb_queue_head_init(&ll->tx_wait_q); in ll_open()
123 spin_lock_init(&ll->hcill_lock); in ll_open()
125 ll->hcill_state = HCILL_AWAKE; in ll_open()
127 hu->priv = ll; in ll_open()
142 struct ll_struct *ll = hu->priv; in ll_flush() local
146 skb_queue_purge(&ll->tx_wait_q); in ll_flush()
147 skb_queue_purge(&ll->txq); in ll_flush()
155 struct ll_struct *ll = hu->priv; in ll_close() local
159 skb_queue_purge(&ll->tx_wait_q); in ll_close()
160 skb_queue_purge(&ll->txq); in ll_close()
162 kfree_skb(ll->rx_skb); in ll_close()
174 kfree(ll); in ll_close()
186 static void __ll_do_awake(struct ll_struct *ll) in __ll_do_awake() argument
190 while ((skb = skb_dequeue(&ll->tx_wait_q))) in __ll_do_awake()
191 skb_queue_tail(&ll->txq, skb); in __ll_do_awake()
193 ll->hcill_state = HCILL_AWAKE; in __ll_do_awake()
202 struct ll_struct *ll = hu->priv; in ll_device_want_to_wakeup() local
207 spin_lock_irqsave(&ll->hcill_lock, flags); in ll_device_want_to_wakeup()
209 switch (ll->hcill_state) { in ll_device_want_to_wakeup()
233 ll->hcill_state); in ll_device_want_to_wakeup()
238 __ll_do_awake(ll); in ll_device_want_to_wakeup()
241 spin_unlock_irqrestore(&ll->hcill_lock, flags); in ll_device_want_to_wakeup()
253 struct ll_struct *ll = hu->priv; in ll_device_want_to_sleep() local
258 spin_lock_irqsave(&ll->hcill_lock, flags); in ll_device_want_to_sleep()
261 if (ll->hcill_state != HCILL_AWAKE) in ll_device_want_to_sleep()
263 ll->hcill_state); in ll_device_want_to_sleep()
272 ll->hcill_state = HCILL_ASLEEP; in ll_device_want_to_sleep()
275 spin_unlock_irqrestore(&ll->hcill_lock, flags); in ll_device_want_to_sleep()
287 struct ll_struct *ll = hu->priv; in ll_device_woke_up() local
292 spin_lock_irqsave(&ll->hcill_lock, flags); in ll_device_woke_up()
295 if (ll->hcill_state != HCILL_ASLEEP_TO_AWAKE) in ll_device_woke_up()
297 ll->hcill_state); in ll_device_woke_up()
300 __ll_do_awake(ll); in ll_device_woke_up()
302 spin_unlock_irqrestore(&ll->hcill_lock, flags); in ll_device_woke_up()
313 struct ll_struct *ll = hu->priv; in ll_enqueue() local
321 spin_lock_irqsave(&ll->hcill_lock, flags); in ll_enqueue()
324 switch (ll->hcill_state) { in ll_enqueue()
327 skb_queue_tail(&ll->txq, skb); in ll_enqueue()
332 skb_queue_tail(&ll->tx_wait_q, skb); in ll_enqueue()
338 ll->hcill_state = HCILL_ASLEEP_TO_AWAKE; in ll_enqueue()
343 skb_queue_tail(&ll->tx_wait_q, skb); in ll_enqueue()
347 ll->hcill_state); in ll_enqueue()
352 spin_unlock_irqrestore(&ll->hcill_lock, flags); in ll_enqueue()
360 struct ll_struct *ll = hu->priv; in ll_recv_frame() local
370 ll->hcill_state); in ll_recv_frame()
427 struct ll_struct *ll = hu->priv; in ll_recv() local
432 ll->rx_skb = h4_recv_buf(hu->hdev, ll->rx_skb, data, count, in ll_recv()
434 if (IS_ERR(ll->rx_skb)) { in ll_recv()
435 int err = PTR_ERR(ll->rx_skb); in ll_recv()
437 ll->rx_skb = NULL; in ll_recv()
446 struct ll_struct *ll = hu->priv; in ll_dequeue() local
448 return skb_dequeue(&ll->txq); in ll_dequeue()
800 .name = "LL",