Lines Matching refs:phy
73 struct pn533_usb_phy *phy = urb->context; in pn533_recv_response() local
79 nfc_err(&phy->udev->dev, "failed to alloc memory\n"); in pn533_recv_response()
86 pn533_recv_frame(phy->priv, skb, urb->status); in pn533_recv_response()
89 static int pn533_submit_urb_for_response(struct pn533_usb_phy *phy, gfp_t flags) in pn533_submit_urb_for_response() argument
91 phy->in_urb->complete = pn533_recv_response; in pn533_submit_urb_for_response()
93 return usb_submit_urb(phy->in_urb, flags); in pn533_submit_urb_for_response()
98 struct pn533_usb_phy *phy = urb->context; in pn533_recv_ack() local
99 struct pn533 *priv = phy->priv; in pn533_recv_ack()
111 dev_dbg(&phy->udev->dev, in pn533_recv_ack()
117 nfc_err(&phy->udev->dev, in pn533_recv_ack()
122 in_frame = phy->in_urb->transfer_buffer; in pn533_recv_ack()
125 nfc_err(&phy->udev->dev, "Received an invalid ack\n"); in pn533_recv_ack()
130 rc = pn533_submit_urb_for_response(phy, GFP_ATOMIC); in pn533_recv_ack()
132 nfc_err(&phy->udev->dev, in pn533_recv_ack()
144 static int pn533_submit_urb_for_ack(struct pn533_usb_phy *phy, gfp_t flags) in pn533_submit_urb_for_ack() argument
146 phy->in_urb->complete = pn533_recv_ack; in pn533_submit_urb_for_ack()
148 return usb_submit_urb(phy->in_urb, flags); in pn533_submit_urb_for_ack()
153 struct pn533_usb_phy *phy = dev->phy; in pn533_usb_send_ack() local
157 if (!phy->ack_buffer) { in pn533_usb_send_ack()
158 phy->ack_buffer = kmemdup(ack, sizeof(ack), flags); in pn533_usb_send_ack()
159 if (!phy->ack_buffer) in pn533_usb_send_ack()
163 phy->ack_urb->transfer_buffer = phy->ack_buffer; in pn533_usb_send_ack()
164 phy->ack_urb->transfer_buffer_length = sizeof(ack); in pn533_usb_send_ack()
165 return usb_submit_urb(phy->ack_urb, flags); in pn533_usb_send_ack()
171 struct pn533_usb_phy *phy = dev->phy; in pn533_usb_send_frame() local
174 if (phy->priv == NULL) in pn533_usb_send_frame()
175 phy->priv = dev; in pn533_usb_send_frame()
177 phy->out_urb->transfer_buffer = out->data; in pn533_usb_send_frame()
178 phy->out_urb->transfer_buffer_length = out->len; in pn533_usb_send_frame()
183 rc = usb_submit_urb(phy->out_urb, GFP_KERNEL); in pn533_usb_send_frame()
189 rc = pn533_submit_urb_for_response(phy, GFP_KERNEL); in pn533_usb_send_frame()
194 rc = pn533_submit_urb_for_ack(phy, GFP_KERNEL); in pn533_usb_send_frame()
202 usb_unlink_urb(phy->out_urb); in pn533_usb_send_frame()
208 struct pn533_usb_phy *phy = dev->phy; in pn533_usb_abort_cmd() local
222 usb_kill_urb(phy->in_urb); in pn533_usb_abort_cmd()
379 static int pn533_acr122_poweron_rdr(struct pn533_usb_phy *phy) in pn533_acr122_poweron_rdr() argument
390 dev_dbg(&phy->udev->dev, "%s\n", __func__); in pn533_acr122_poweron_rdr()
397 cntx = phy->in_urb->context; /* backup context */ in pn533_acr122_poweron_rdr()
399 phy->in_urb->complete = pn533_acr122_poweron_rdr_resp; in pn533_acr122_poweron_rdr()
400 phy->in_urb->context = &arg; in pn533_acr122_poweron_rdr()
405 rc = usb_bulk_msg(phy->udev, phy->out_urb->pipe, buffer, sizeof(cmd), in pn533_acr122_poweron_rdr()
409 nfc_err(&phy->udev->dev, in pn533_acr122_poweron_rdr()
414 rc = usb_submit_urb(phy->in_urb, GFP_KERNEL); in pn533_acr122_poweron_rdr()
416 nfc_err(&phy->udev->dev, in pn533_acr122_poweron_rdr()
422 phy->in_urb->context = cntx; /* restore context */ in pn533_acr122_poweron_rdr()
429 struct pn533_usb_phy *phy = urb->context; in pn533_send_complete() local
436 dev_dbg(&phy->udev->dev, in pn533_send_complete()
442 nfc_err(&phy->udev->dev, in pn533_send_complete()
458 struct pn533_usb_phy *phy; in pn533_usb_probe() local
473 phy = devm_kzalloc(&interface->dev, sizeof(*phy), GFP_KERNEL); in pn533_usb_probe()
474 if (!phy) in pn533_usb_probe()
481 phy->udev = usb_get_dev(interface_to_usbdev(interface)); in pn533_usb_probe()
482 phy->interface = interface; in pn533_usb_probe()
502 phy->in_urb = usb_alloc_urb(0, GFP_KERNEL); in pn533_usb_probe()
503 phy->out_urb = usb_alloc_urb(0, GFP_KERNEL); in pn533_usb_probe()
504 phy->ack_urb = usb_alloc_urb(0, GFP_KERNEL); in pn533_usb_probe()
506 if (!phy->in_urb || !phy->out_urb || !phy->ack_urb) in pn533_usb_probe()
509 usb_fill_bulk_urb(phy->in_urb, phy->udev, in pn533_usb_probe()
510 usb_rcvbulkpipe(phy->udev, in_endpoint), in pn533_usb_probe()
511 in_buf, in_buf_len, NULL, phy); in pn533_usb_probe()
513 usb_fill_bulk_urb(phy->out_urb, phy->udev, in pn533_usb_probe()
514 usb_sndbulkpipe(phy->udev, out_endpoint), in pn533_usb_probe()
515 NULL, 0, pn533_send_complete, phy); in pn533_usb_probe()
516 usb_fill_bulk_urb(phy->ack_urb, phy->udev, in pn533_usb_probe()
517 usb_sndbulkpipe(phy->udev, out_endpoint), in pn533_usb_probe()
518 NULL, 0, pn533_send_complete, phy); in pn533_usb_probe()
534 rc = pn533_acr122_poweron_rdr(phy); in pn533_usb_probe()
550 phy, &usb_phy_ops, fops, in pn533_usb_probe()
551 &phy->udev->dev, &interface->dev); in pn533_usb_probe()
558 phy->priv = priv; in pn533_usb_probe()
564 usb_set_intfdata(interface, phy); in pn533_usb_probe()
569 pn533_unregister_device(phy->priv); in pn533_usb_probe()
571 usb_kill_urb(phy->in_urb); in pn533_usb_probe()
572 usb_kill_urb(phy->out_urb); in pn533_usb_probe()
573 usb_kill_urb(phy->ack_urb); in pn533_usb_probe()
575 usb_free_urb(phy->in_urb); in pn533_usb_probe()
576 usb_free_urb(phy->out_urb); in pn533_usb_probe()
577 usb_free_urb(phy->ack_urb); in pn533_usb_probe()
578 usb_put_dev(phy->udev); in pn533_usb_probe()
580 kfree(phy->ack_buffer); in pn533_usb_probe()
587 struct pn533_usb_phy *phy = usb_get_intfdata(interface); in pn533_usb_disconnect() local
589 if (!phy) in pn533_usb_disconnect()
592 pn533_unregister_device(phy->priv); in pn533_usb_disconnect()
596 usb_kill_urb(phy->in_urb); in pn533_usb_disconnect()
597 usb_kill_urb(phy->out_urb); in pn533_usb_disconnect()
598 usb_kill_urb(phy->ack_urb); in pn533_usb_disconnect()
600 kfree(phy->in_urb->transfer_buffer); in pn533_usb_disconnect()
601 usb_free_urb(phy->in_urb); in pn533_usb_disconnect()
602 usb_free_urb(phy->out_urb); in pn533_usb_disconnect()
603 usb_free_urb(phy->ack_urb); in pn533_usb_disconnect()
604 kfree(phy->ack_buffer); in pn533_usb_disconnect()