Lines Matching defs:phy

92 static int mei_nfc_if_version(struct nfc_mei_phy *phy)
107 r = mei_cldev_send(phy->cldev, (u8 *)&cmd, sizeof(struct mei_nfc_cmd));
121 bytes_recv = mei_cldev_recv(phy->cldev, (u8 *)reply, if_version_length);
130 phy->fw_ivn = version->fw_ivn;
131 phy->vendor_id = version->vendor_id;
132 phy->radio_type = version->radio_type;
139 static int mei_nfc_connect(struct nfc_mei_phy *phy)
169 connect->fw_ivn = phy->fw_ivn;
170 connect->vendor_id = phy->vendor_id;
173 r = mei_cldev_send(phy->cldev, (u8 *)cmd, connect_length);
179 bytes_recv = mei_cldev_recv(phy->cldev, (u8 *)reply,
205 static int mei_nfc_send(struct nfc_mei_phy *phy, const u8 *buf, size_t length)
219 hdr->req_id = phy->req_id;
226 err = mei_cldev_send(phy->cldev, mei_buf, length + MEI_NFC_HEADER_SIZE);
230 if (!wait_event_interruptible_timeout(phy->send_wq,
231 phy->recv_req_id == phy->req_id, HZ)) {
235 phy->req_id++;
249 struct nfc_mei_phy *phy = phy_id;
254 r = mei_nfc_send(phy, skb->data, skb->len);
261 static int mei_nfc_recv(struct nfc_mei_phy *phy, u8 *buf, size_t length)
266 received_length = mei_cldev_recv(phy->cldev, buf, length);
274 phy->recv_req_id = hdr->req_id;
275 wake_up(&phy->send_wq);
286 struct nfc_mei_phy *phy = mei_cldev_get_drvdata(cldev);
290 if (!phy)
293 if (phy->hard_fault != 0)
300 reply_size = mei_nfc_recv(phy, skb->data, MEI_NFC_MAX_READ);
311 nfc_hci_recv_frame(phy->hdev, skb);
317 struct nfc_mei_phy *phy = phy_id;
319 if (phy->powered == 1)
322 r = mei_cldev_enable(phy->cldev);
328 r = mei_nfc_if_version(phy);
334 r = mei_nfc_connect(phy);
340 r = mei_cldev_register_rx_cb(phy->cldev, nfc_mei_rx_cb);
346 phy->powered = 1;
351 phy->powered = 0;
352 mei_cldev_disable(phy->cldev);
358 struct nfc_mei_phy *phy = phy_id;
360 mei_cldev_disable(phy->cldev);
362 phy->powered = 0;
374 struct nfc_mei_phy *phy;
376 phy = kzalloc(sizeof(struct nfc_mei_phy), GFP_KERNEL);
377 if (!phy)
380 phy->cldev = cldev;
381 init_waitqueue_head(&phy->send_wq);
382 mei_cldev_set_drvdata(cldev, phy);
384 return phy;
388 void nfc_mei_phy_free(struct nfc_mei_phy *phy)
390 mei_cldev_disable(phy->cldev);
391 kfree(phy);