Commit 95f7687b authored by Christophe Ricard's avatar Christophe Ricard Committed by Samuel Ortiz

NFC: hci: Add stop_poll HCI operand.

stop_poll allows to stop CLF reader polling. Some other operations might be
necessary for some CLF to stop polling. For example in card mode.
Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 0531107e
...@@ -37,6 +37,7 @@ struct nfc_hci_ops { ...@@ -37,6 +37,7 @@ struct nfc_hci_ops {
int (*xmit) (struct nfc_hci_dev *hdev, struct sk_buff *skb); int (*xmit) (struct nfc_hci_dev *hdev, struct sk_buff *skb);
int (*start_poll) (struct nfc_hci_dev *hdev, int (*start_poll) (struct nfc_hci_dev *hdev,
u32 im_protocols, u32 tm_protocols); u32 im_protocols, u32 tm_protocols);
void (*stop_poll) (struct nfc_hci_dev *hdev);
int (*dep_link_up)(struct nfc_hci_dev *hdev, struct nfc_target *target, int (*dep_link_up)(struct nfc_hci_dev *hdev, struct nfc_target *target,
u8 comm_mode, u8 *gb, size_t gb_len); u8 comm_mode, u8 *gb, size_t gb_len);
int (*dep_link_down)(struct nfc_hci_dev *hdev); int (*dep_link_down)(struct nfc_hci_dev *hdev);
......
...@@ -553,8 +553,11 @@ static void hci_stop_poll(struct nfc_dev *nfc_dev) ...@@ -553,8 +553,11 @@ static void hci_stop_poll(struct nfc_dev *nfc_dev)
{ {
struct nfc_hci_dev *hdev = nfc_get_drvdata(nfc_dev); struct nfc_hci_dev *hdev = nfc_get_drvdata(nfc_dev);
nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, if (hdev->ops->stop_poll)
NFC_HCI_EVT_END_OPERATION, NULL, 0); hdev->ops->stop_poll(hdev);
else
nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
NFC_HCI_EVT_END_OPERATION, NULL, 0);
} }
static int hci_dep_link_up(struct nfc_dev *nfc_dev, struct nfc_target *target, static int hci_dep_link_up(struct nfc_dev *nfc_dev, struct nfc_target *target,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment