aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nfc/mei_phy.h
diff options
context:
space:
mode:
authorEric Lapuyade <eric.lapuyade@linux.intel.com>2013-04-15 11:19:20 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2013-04-16 00:39:31 +0200
commit4912e2fe74811693703e9b4e21bf36c067643a03 (patch)
tree827f23daf7a94f55366357f6ad98bdc86f17a8e1 /drivers/nfc/mei_phy.h
parentNFC: RFKILL support (diff)
downloadlinux-dev-4912e2fe74811693703e9b4e21bf36c067643a03.tar.xz
linux-dev-4912e2fe74811693703e9b4e21bf36c067643a03.zip
NFC: mei: Add a common mei bus API for NFC drivers
This isolates the common code that is required to use an mei bus nfc device from an NFC HCI drivers. This prepares for future drivers for NFC chips connected behind an Intel Management Engine controller. The microread_mei HCI driver is also modified to use that common code. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc/mei_phy.h')
-rw-r--r--drivers/nfc/mei_phy.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/nfc/mei_phy.h b/drivers/nfc/mei_phy.h
new file mode 100644
index 000000000000..d669900f8278
--- /dev/null
+++ b/drivers/nfc/mei_phy.h
@@ -0,0 +1,30 @@
+#ifndef __LOCAL_MEI_PHY_H_
+#define __LOCAL_MEI_PHY_H_
+
+#include <linux/mei_cl_bus.h>
+#include <net/nfc/hci.h>
+
+#define MEI_NFC_HEADER_SIZE 10
+#define MEI_NFC_MAX_HCI_PAYLOAD 300
+
+struct nfc_mei_phy {
+ struct mei_cl_device *device;
+ struct nfc_hci_dev *hdev;
+
+ int powered;
+
+ int hard_fault; /*
+ * < 0 if hardware error occured
+ * and prevents normal operation.
+ */
+};
+
+extern struct nfc_phy_ops mei_phy_ops;
+
+int nfc_mei_phy_enable(void *phy_id);
+void nfc_mei_phy_disable(void *phy_id);
+void nfc_mei_event_cb(struct mei_cl_device *device, u32 events, void *context);
+struct nfc_mei_phy *nfc_mei_phy_alloc(struct mei_cl_device *device);
+void nfc_mei_phy_free(struct nfc_mei_phy *phy);
+
+#endif /* __LOCAL_MEI_PHY_H_ */