Lines Matching refs:priv
30 struct nfcmrvl_private *priv = nci_get_drvdata(ndev); in nfcmrvl_nci_open() local
33 if (test_and_set_bit(NFCMRVL_NCI_RUNNING, &priv->flags)) in nfcmrvl_nci_open()
37 clear_bit(NFCMRVL_PHY_ERROR, &priv->flags); in nfcmrvl_nci_open()
39 err = priv->if_ops->nci_open(priv); in nfcmrvl_nci_open()
42 clear_bit(NFCMRVL_NCI_RUNNING, &priv->flags); in nfcmrvl_nci_open()
49 struct nfcmrvl_private *priv = nci_get_drvdata(ndev); in nfcmrvl_nci_close() local
51 if (!test_and_clear_bit(NFCMRVL_NCI_RUNNING, &priv->flags)) in nfcmrvl_nci_close()
54 priv->if_ops->nci_close(priv); in nfcmrvl_nci_close()
61 struct nfcmrvl_private *priv = nci_get_drvdata(ndev); in nfcmrvl_nci_send() local
63 nfc_info(priv->dev, "send entry, len %d\n", skb->len); in nfcmrvl_nci_send()
67 if (priv->config.hci_muxed) { in nfcmrvl_nci_send()
78 return priv->if_ops->nci_send(priv, skb); in nfcmrvl_nci_send()
109 struct nfcmrvl_private *priv; in nfcmrvl_nci_register_dev() local
115 priv = kzalloc(sizeof(*priv), GFP_KERNEL); in nfcmrvl_nci_register_dev()
116 if (!priv) in nfcmrvl_nci_register_dev()
119 priv->drv_data = drv_data; in nfcmrvl_nci_register_dev()
120 priv->if_ops = ops; in nfcmrvl_nci_register_dev()
121 priv->dev = dev; in nfcmrvl_nci_register_dev()
122 priv->phy = phy; in nfcmrvl_nci_register_dev()
124 memcpy(&priv->config, pdata, sizeof(*pdata)); in nfcmrvl_nci_register_dev()
126 if (priv->config.reset_n_io) { in nfcmrvl_nci_register_dev()
128 priv->config.reset_n_io, in nfcmrvl_nci_register_dev()
141 if (priv->config.hci_muxed) in nfcmrvl_nci_register_dev()
152 priv->ndev = nci_allocate_device(&nfcmrvl_nci_ops, protocols, in nfcmrvl_nci_register_dev()
154 if (!priv->ndev) { in nfcmrvl_nci_register_dev()
160 nci_set_drvdata(priv->ndev, priv); in nfcmrvl_nci_register_dev()
162 rc = nci_register_device(priv->ndev); in nfcmrvl_nci_register_dev()
169 nfcmrvl_chip_halt(priv); in nfcmrvl_nci_register_dev()
171 rc = nfcmrvl_fw_dnld_init(priv); in nfcmrvl_nci_register_dev()
178 return priv; in nfcmrvl_nci_register_dev()
181 nci_free_device(priv->ndev); in nfcmrvl_nci_register_dev()
183 kfree(priv); in nfcmrvl_nci_register_dev()
188 void nfcmrvl_nci_unregister_dev(struct nfcmrvl_private *priv) in nfcmrvl_nci_unregister_dev() argument
190 struct nci_dev *ndev = priv->ndev; in nfcmrvl_nci_unregister_dev()
192 if (priv->ndev->nfc_dev->fw_download_in_progress) in nfcmrvl_nci_unregister_dev()
193 nfcmrvl_fw_dnld_abort(priv); in nfcmrvl_nci_unregister_dev()
195 nfcmrvl_fw_dnld_deinit(priv); in nfcmrvl_nci_unregister_dev()
197 if (priv->config.reset_n_io) in nfcmrvl_nci_unregister_dev()
198 devm_gpio_free(priv->dev, priv->config.reset_n_io); in nfcmrvl_nci_unregister_dev()
202 kfree(priv); in nfcmrvl_nci_unregister_dev()
206 int nfcmrvl_nci_recv_frame(struct nfcmrvl_private *priv, struct sk_buff *skb) in nfcmrvl_nci_recv_frame() argument
208 if (priv->config.hci_muxed) { in nfcmrvl_nci_recv_frame()
220 if (priv->ndev->nfc_dev->fw_download_in_progress) { in nfcmrvl_nci_recv_frame()
221 nfcmrvl_fw_dnld_recv_frame(priv, skb); in nfcmrvl_nci_recv_frame()
225 if (test_bit(NFCMRVL_NCI_RUNNING, &priv->flags)) in nfcmrvl_nci_recv_frame()
226 nci_recv_frame(priv->ndev, skb); in nfcmrvl_nci_recv_frame()
237 void nfcmrvl_chip_reset(struct nfcmrvl_private *priv) in nfcmrvl_chip_reset() argument
240 clear_bit(NFCMRVL_PHY_ERROR, &priv->flags); in nfcmrvl_chip_reset()
242 if (priv->config.reset_n_io) { in nfcmrvl_chip_reset()
243 nfc_info(priv->dev, "reset the chip\n"); in nfcmrvl_chip_reset()
244 gpio_set_value(priv->config.reset_n_io, 0); in nfcmrvl_chip_reset()
246 gpio_set_value(priv->config.reset_n_io, 1); in nfcmrvl_chip_reset()
248 nfc_info(priv->dev, "no reset available on this interface\n"); in nfcmrvl_chip_reset()
251 void nfcmrvl_chip_halt(struct nfcmrvl_private *priv) in nfcmrvl_chip_halt() argument
253 if (priv->config.reset_n_io) in nfcmrvl_chip_halt()
254 gpio_set_value(priv->config.reset_n_io, 0); in nfcmrvl_chip_halt()