Merge remote-tracking branch 'wireless-next/master' into HEAD
This commit is contained in:
@@ -57,8 +57,10 @@ struct nfc_hci_ops {
|
||||
int (*tm_send)(struct nfc_hci_dev *hdev, struct sk_buff *skb);
|
||||
int (*check_presence)(struct nfc_hci_dev *hdev,
|
||||
struct nfc_target *target);
|
||||
void (*event_received)(struct nfc_hci_dev *hdev, u8 gate, u8 event,
|
||||
struct sk_buff *skb);
|
||||
int (*event_received)(struct nfc_hci_dev *hdev, u8 gate, u8 event,
|
||||
struct sk_buff *skb);
|
||||
int (*enable_se)(struct nfc_dev *dev, u32 secure_element);
|
||||
int (*disable_se)(struct nfc_dev *dev, u32 secure_element);
|
||||
};
|
||||
|
||||
/* Pipes */
|
||||
@@ -82,11 +84,23 @@ typedef int (*xmit) (struct sk_buff *skb, void *cb_data);
|
||||
|
||||
#define NFC_HCI_MAX_GATES 256
|
||||
|
||||
/*
|
||||
* These values can be specified by a driver to indicate it requires some
|
||||
* adaptation of the HCI standard.
|
||||
*
|
||||
* NFC_HCI_QUIRK_SHORT_CLEAR - send HCI_ADM_CLEAR_ALL_PIPE cmd with no params
|
||||
*/
|
||||
enum {
|
||||
NFC_HCI_QUIRK_SHORT_CLEAR = 0,
|
||||
};
|
||||
|
||||
struct nfc_hci_dev {
|
||||
struct nfc_dev *ndev;
|
||||
|
||||
u32 max_data_link_payload;
|
||||
|
||||
bool shutting_down;
|
||||
|
||||
struct mutex msg_tx_mutex;
|
||||
|
||||
struct list_head msg_tx_queue;
|
||||
@@ -129,12 +143,16 @@ struct nfc_hci_dev {
|
||||
|
||||
u8 *gb;
|
||||
size_t gb_len;
|
||||
|
||||
unsigned long quirks;
|
||||
};
|
||||
|
||||
/* hci device allocation */
|
||||
struct nfc_hci_dev *nfc_hci_allocate_device(struct nfc_hci_ops *ops,
|
||||
struct nfc_hci_init_data *init_data,
|
||||
unsigned long quirks,
|
||||
u32 protocols,
|
||||
u32 supported_se,
|
||||
const char *llc_name,
|
||||
int tx_headroom,
|
||||
int tx_tailroom,
|
||||
|
@@ -147,6 +147,7 @@ struct nci_dev {
|
||||
/* ----- NCI Devices ----- */
|
||||
struct nci_dev *nci_allocate_device(struct nci_ops *ops,
|
||||
__u32 supported_protocols,
|
||||
__u32 supported_se,
|
||||
int tx_headroom,
|
||||
int tx_tailroom);
|
||||
void nci_free_device(struct nci_dev *ndev);
|
||||
|
@@ -68,6 +68,8 @@ struct nfc_ops {
|
||||
void *cb_context);
|
||||
int (*tm_send)(struct nfc_dev *dev, struct sk_buff *skb);
|
||||
int (*check_presence)(struct nfc_dev *dev, struct nfc_target *target);
|
||||
int (*enable_se)(struct nfc_dev *dev, u32 secure_element);
|
||||
int (*disable_se)(struct nfc_dev *dev, u32 secure_element);
|
||||
};
|
||||
|
||||
#define NFC_TARGET_IDX_ANY -1
|
||||
@@ -109,12 +111,17 @@ struct nfc_dev {
|
||||
struct nfc_genl_data genl_data;
|
||||
u32 supported_protocols;
|
||||
|
||||
u32 supported_se;
|
||||
u32 active_se;
|
||||
|
||||
int tx_headroom;
|
||||
int tx_tailroom;
|
||||
|
||||
struct timer_list check_pres_timer;
|
||||
struct work_struct check_pres_work;
|
||||
|
||||
bool shutting_down;
|
||||
|
||||
struct nfc_ops *ops;
|
||||
};
|
||||
#define to_nfc_dev(_dev) container_of(_dev, struct nfc_dev, dev)
|
||||
@@ -123,6 +130,7 @@ extern struct class nfc_class;
|
||||
|
||||
struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
|
||||
u32 supported_protocols,
|
||||
u32 supported_se,
|
||||
int tx_headroom,
|
||||
int tx_tailroom);
|
||||
|
||||
|
Reference in New Issue
Block a user