diff options
| author | Clément Perrochaud <clement.perrochaud@nxp.com> | 2015-03-09 06:12:03 -0400 |
|---|---|---|
| committer | Samuel Ortiz <sameo@linux.intel.com> | 2015-03-26 05:56:20 -0400 |
| commit | 25af01ed18a282e7d324e5694fe67b85ac412994 (patch) | |
| tree | 168b2ed1c3ad1a4260098cdd1b3fb2e324b8f9ae /net/nfc | |
| parent | 5a352dd0a3aac03b443c94828dfd7144261c8636 (diff) | |
NFC: nci: Add firmware download support
A simple forward for firmware download (i.e. sending a new firmware
to the NFC adapter) from the NFC subsystem to the drivers.
This feature is required to update the firmware of NXP-NCI NFC
controllers but can be used by any NCI driver.
This feature has been present in the HCI subsystem since 9a695d.
Signed-off-by: Clément Perrochaud <clement.perrochaud@effinnov.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc')
| -rw-r--r-- | net/nfc/nci/core.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c index 9575a1892607..49ff32106080 100644 --- a/net/nfc/nci/core.c +++ b/net/nfc/nci/core.c | |||
| @@ -907,6 +907,16 @@ static int nci_se_io(struct nfc_dev *nfc_dev, u32 se_idx, | |||
| 907 | return 0; | 907 | return 0; |
| 908 | } | 908 | } |
| 909 | 909 | ||
| 910 | static int nci_fw_download(struct nfc_dev *nfc_dev, const char *firmware_name) | ||
| 911 | { | ||
| 912 | struct nci_dev *ndev = nfc_get_drvdata(nfc_dev); | ||
| 913 | |||
| 914 | if (!ndev->ops->fw_download) | ||
| 915 | return -ENOTSUPP; | ||
| 916 | |||
| 917 | return ndev->ops->fw_download(ndev, firmware_name); | ||
| 918 | } | ||
| 919 | |||
| 910 | static struct nfc_ops nci_nfc_ops = { | 920 | static struct nfc_ops nci_nfc_ops = { |
| 911 | .dev_up = nci_dev_up, | 921 | .dev_up = nci_dev_up, |
| 912 | .dev_down = nci_dev_down, | 922 | .dev_down = nci_dev_down, |
| @@ -922,6 +932,7 @@ static struct nfc_ops nci_nfc_ops = { | |||
| 922 | .disable_se = nci_disable_se, | 932 | .disable_se = nci_disable_se, |
| 923 | .discover_se = nci_discover_se, | 933 | .discover_se = nci_discover_se, |
| 924 | .se_io = nci_se_io, | 934 | .se_io = nci_se_io, |
| 935 | .fw_download = nci_fw_download, | ||
| 925 | }; | 936 | }; |
| 926 | 937 | ||
| 927 | /* ---- Interface to NCI drivers ---- */ | 938 | /* ---- Interface to NCI drivers ---- */ |
