Commit 9a695d23 authored by Eric Lapuyade's avatar Eric Lapuyade Committed by Samuel Ortiz

NFC: HCI: Implement fw_upload ops

This is a simple forward to the HCI driver. When driver is done with the
operation, it shall directly notify NFC Core by calling
nfc_fw_upload_done().
Signed-off-by: default avatarEric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 9674da87
...@@ -61,6 +61,7 @@ struct nfc_hci_ops { ...@@ -61,6 +61,7 @@ struct nfc_hci_ops {
struct sk_buff *skb); struct sk_buff *skb);
int (*enable_se)(struct nfc_dev *dev, u32 secure_element); int (*enable_se)(struct nfc_dev *dev, u32 secure_element);
int (*disable_se)(struct nfc_dev *dev, u32 secure_element); int (*disable_se)(struct nfc_dev *dev, u32 secure_element);
int (*fw_upload)(struct nfc_hci_dev *hdev, const char *firmware_name);
}; };
/* Pipes */ /* Pipes */
......
...@@ -779,6 +779,16 @@ static void nfc_hci_recv_from_llc(struct nfc_hci_dev *hdev, struct sk_buff *skb) ...@@ -779,6 +779,16 @@ static void nfc_hci_recv_from_llc(struct nfc_hci_dev *hdev, struct sk_buff *skb)
} }
} }
static int hci_fw_upload(struct nfc_dev *nfc_dev, const char *firmware_name)
{
struct nfc_hci_dev *hdev = nfc_get_drvdata(nfc_dev);
if (hdev->ops->fw_upload)
return hdev->ops->fw_upload(hdev, firmware_name);
return -ENOTSUPP;
}
static struct nfc_ops hci_nfc_ops = { static struct nfc_ops hci_nfc_ops = {
.dev_up = hci_dev_up, .dev_up = hci_dev_up,
.dev_down = hci_dev_down, .dev_down = hci_dev_down,
...@@ -791,6 +801,7 @@ static struct nfc_ops hci_nfc_ops = { ...@@ -791,6 +801,7 @@ static struct nfc_ops hci_nfc_ops = {
.im_transceive = hci_transceive, .im_transceive = hci_transceive,
.tm_send = hci_tm_send, .tm_send = hci_tm_send,
.check_presence = hci_check_presence, .check_presence = hci_check_presence,
.fw_upload = hci_fw_upload,
}; };
struct nfc_hci_dev *nfc_hci_allocate_device(struct nfc_hci_ops *ops, struct nfc_hci_dev *nfc_hci_allocate_device(struct nfc_hci_ops *ops,
......
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