OSDN Git Service

NFC: nci: Add RF NFCEE action notification support
authorChristophe Ricard <christophe.ricard@gmail.com>
Sun, 1 Feb 2015 21:26:17 +0000 (22:26 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 2 Feb 2015 20:50:41 +0000 (21:50 +0100)
The NFCC sends an NCI_OP_RF_NFCEE_ACTION_NTF notification
to the host (DH) to let it know that for example an RF
transaction with a payment reader is done.
For now the notification handler is empty.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
include/net/nfc/nci.h
net/nfc/nci/ntf.c

index deac78b..6c1beb2 100644 (file)
@@ -499,6 +499,14 @@ struct nci_rf_deactivate_ntf {
        __u8    reason;
 } __packed;
 
+#define NCI_OP_RF_NFCEE_ACTION_NTF     nci_opcode_pack(NCI_GID_RF_MGMT, 0x09)
+struct nci_rf_nfcee_action_ntf {
+       __u8 nfcee_id;
+       __u8 trigger;
+       __u8 supported_data_length;
+       __u8 supported_data[0];
+} __packed;
+
 #define NCI_OP_NFCEE_DISCOVER_NTF nci_opcode_pack(NCI_GID_NFCEE_MGMT, 0x00)
 struct nci_nfcee_supported_protocol {
        __u8    num_protocol;
index 6e041ac..5924b81 100644 (file)
@@ -752,6 +752,12 @@ exit:
        nci_req_complete(ndev, status);
 }
 
+static void nci_nfcee_action_ntf_packet(struct nci_dev *ndev,
+                                       struct sk_buff *skb)
+{
+       pr_debug("\n");
+}
+
 void nci_ntf_packet(struct nci_dev *ndev, struct sk_buff *skb)
 {
        __u16 ntf_opcode = nci_opcode(skb->data);
@@ -793,6 +799,11 @@ void nci_ntf_packet(struct nci_dev *ndev, struct sk_buff *skb)
        case NCI_OP_NFCEE_DISCOVER_NTF:
                nci_nfcee_discover_ntf_packet(ndev, skb);
                break;
+
+       case NCI_OP_RF_NFCEE_ACTION_NTF:
+               nci_nfcee_action_ntf_packet(ndev, skb);
+               break;
+
        default:
                pr_err("unknown ntf opcode 0x%x\n", ntf_opcode);
                break;