mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
This is the second NFC fixes pull request for 3.11.
We have: - A build failure fix for the NCI SPI transport layer due to a missing CRC_CCITT Kconfig dependency. - A netlink command rename: CMD_FW_UPLOAD was merged during the 3.11 merge window but the typical terminology for loading a firmware to a target is firmware download rather than upload. In order to avoid any confusion in a file exported to userspace, we rename this command into CMD_FW_DOWNLOAD. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJR+E9jAAoJEIqAPN1PVmxKzkwP/3dy9wpwQG7f8FLv61IhbhhQ 8gVqY3BX1RJdez1vH5MvqkTK6U3SmlQvtJM8pIPyfPXyR1+Af5AxqQh3vjTP3xUG PuMtmQOlz5OJ6ErttxZtYERVtrhFkasMVmVqKrN9ptItPADfOmeC0/hyoEnoYsWQ HrhZn1lYsf98zmEbNS2KoRcZUVLClbg4xosTktTVaz56jIGVuM8MAch+FS+tJhhl av0MX/VZvAUllSnlWWDmt0Lh9isJOLOMtqIRj6PLBAp2ra9sPNO5TlZ4lz2og2gx zesVhBBLyiF9oluuQj/FJft+s5Khcm0R9W969raL5SvehWY77wHoY76ZqHMUE2Qv 7RPUvFRfOA5LvKJM8MduJ8fMf830mZWD7cByhIfUxtWQZumwPfn2Mbl3xNkPLFZB L2x13SwGjU+PdCo70+ybgr8zUvYIxiVULwq5xFynvXJNSpOujIe3nPdQb7QtK8C0 4d9OudAHmfHsW93PMBE+Zki8i8GDLTR3DOQoXIRi7oPR+EVL2JDsBQvnauXhdSap mp9iyuoqAYjgc6e2o8coVqViXWbKmBEa9n7NKrX3dPrI9e5F67WChAyehBCu9KV3 zZxruhEJBw6PLmIGDETk1XIVd9G6rfMBswnDfSJBjjG5PrUh6Xbfwa1y+KiRKqCh FG+IvbfHWZRmdeFX3U4P =p4r5 -----END PGP SIGNATURE----- Merge tag 'nfc-fixes-3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-fixes Samuel Ortiz <sameo@linux.intel.com> says: 'This is the second NFC fixes pull request for 3.11. We have: - A build failure fix for the NCI SPI transport layer due to a missing CRC_CCITT Kconfig dependency. - A netlink command rename: CMD_FW_UPLOAD was merged during the 3.11 merge window but the typical terminology for loading a firmware to a target is firmware download rather than upload. In order to avoid any confusion in a file exported to userspace, we rename this command into CMD_FW_DOWNLOAD." Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
commit
11a45820d0
@ -59,7 +59,7 @@ struct nfc_hci_ops {
|
||||
struct nfc_target *target);
|
||||
int (*event_received)(struct nfc_hci_dev *hdev, u8 gate, u8 event,
|
||||
struct sk_buff *skb);
|
||||
int (*fw_upload)(struct nfc_hci_dev *hdev, const char *firmware_name);
|
||||
int (*fw_download)(struct nfc_hci_dev *hdev, const char *firmware_name);
|
||||
int (*discover_se)(struct nfc_hci_dev *dev);
|
||||
int (*enable_se)(struct nfc_hci_dev *dev, u32 se_idx);
|
||||
int (*disable_se)(struct nfc_hci_dev *dev, u32 se_idx);
|
||||
|
@ -68,7 +68,7 @@ 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 (*fw_upload)(struct nfc_dev *dev, const char *firmware_name);
|
||||
int (*fw_download)(struct nfc_dev *dev, const char *firmware_name);
|
||||
|
||||
/* Secure Element API */
|
||||
int (*discover_se)(struct nfc_dev *dev);
|
||||
@ -127,7 +127,7 @@ struct nfc_dev {
|
||||
int targets_generation;
|
||||
struct device dev;
|
||||
bool dev_up;
|
||||
bool fw_upload_in_progress;
|
||||
bool fw_download_in_progress;
|
||||
u8 rf_mode;
|
||||
bool polling;
|
||||
struct nfc_target *active_target;
|
||||
|
@ -69,8 +69,8 @@
|
||||
* starting a poll from a device which has a secure element enabled means
|
||||
* we want to do SE based card emulation.
|
||||
* @NFC_CMD_DISABLE_SE: Disable the physical link to a specific secure element.
|
||||
* @NFC_CMD_FW_UPLOAD: Request to Load/flash firmware, or event to inform that
|
||||
* some firmware was loaded
|
||||
* @NFC_CMD_FW_DOWNLOAD: Request to Load/flash firmware, or event to inform
|
||||
* that some firmware was loaded
|
||||
*/
|
||||
enum nfc_commands {
|
||||
NFC_CMD_UNSPEC,
|
||||
@ -94,7 +94,7 @@ enum nfc_commands {
|
||||
NFC_CMD_DISABLE_SE,
|
||||
NFC_CMD_LLC_SDREQ,
|
||||
NFC_EVENT_LLC_SDRES,
|
||||
NFC_CMD_FW_UPLOAD,
|
||||
NFC_CMD_FW_DOWNLOAD,
|
||||
NFC_EVENT_SE_ADDED,
|
||||
NFC_EVENT_SE_REMOVED,
|
||||
/* private: internal use only */
|
||||
|
@ -44,7 +44,7 @@ DEFINE_MUTEX(nfc_devlist_mutex);
|
||||
/* NFC device ID bitmap */
|
||||
static DEFINE_IDA(nfc_index_ida);
|
||||
|
||||
int nfc_fw_upload(struct nfc_dev *dev, const char *firmware_name)
|
||||
int nfc_fw_download(struct nfc_dev *dev, const char *firmware_name)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
@ -62,28 +62,28 @@ int nfc_fw_upload(struct nfc_dev *dev, const char *firmware_name)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!dev->ops->fw_upload) {
|
||||
if (!dev->ops->fw_download) {
|
||||
rc = -EOPNOTSUPP;
|
||||
goto error;
|
||||
}
|
||||
|
||||
dev->fw_upload_in_progress = true;
|
||||
rc = dev->ops->fw_upload(dev, firmware_name);
|
||||
dev->fw_download_in_progress = true;
|
||||
rc = dev->ops->fw_download(dev, firmware_name);
|
||||
if (rc)
|
||||
dev->fw_upload_in_progress = false;
|
||||
dev->fw_download_in_progress = false;
|
||||
|
||||
error:
|
||||
device_unlock(&dev->dev);
|
||||
return rc;
|
||||
}
|
||||
|
||||
int nfc_fw_upload_done(struct nfc_dev *dev, const char *firmware_name)
|
||||
int nfc_fw_download_done(struct nfc_dev *dev, const char *firmware_name)
|
||||
{
|
||||
dev->fw_upload_in_progress = false;
|
||||
dev->fw_download_in_progress = false;
|
||||
|
||||
return nfc_genl_fw_upload_done(dev, firmware_name);
|
||||
return nfc_genl_fw_download_done(dev, firmware_name);
|
||||
}
|
||||
EXPORT_SYMBOL(nfc_fw_upload_done);
|
||||
EXPORT_SYMBOL(nfc_fw_download_done);
|
||||
|
||||
/**
|
||||
* nfc_dev_up - turn on the NFC device
|
||||
@ -110,7 +110,7 @@ int nfc_dev_up(struct nfc_dev *dev)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (dev->fw_upload_in_progress) {
|
||||
if (dev->fw_download_in_progress) {
|
||||
rc = -EBUSY;
|
||||
goto error;
|
||||
}
|
||||
|
@ -809,14 +809,14 @@ 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)
|
||||
static int hci_fw_download(struct nfc_dev *nfc_dev, const char *firmware_name)
|
||||
{
|
||||
struct nfc_hci_dev *hdev = nfc_get_drvdata(nfc_dev);
|
||||
|
||||
if (!hdev->ops->fw_upload)
|
||||
if (!hdev->ops->fw_download)
|
||||
return -ENOTSUPP;
|
||||
|
||||
return hdev->ops->fw_upload(hdev, firmware_name);
|
||||
return hdev->ops->fw_download(hdev, firmware_name);
|
||||
}
|
||||
|
||||
static struct nfc_ops hci_nfc_ops = {
|
||||
@ -831,7 +831,7 @@ static struct nfc_ops hci_nfc_ops = {
|
||||
.im_transceive = hci_transceive,
|
||||
.tm_send = hci_tm_send,
|
||||
.check_presence = hci_check_presence,
|
||||
.fw_upload = hci_fw_upload,
|
||||
.fw_download = hci_fw_download,
|
||||
.discover_se = hci_discover_se,
|
||||
.enable_se = hci_enable_se,
|
||||
.disable_se = hci_disable_se,
|
||||
|
@ -11,6 +11,7 @@ config NFC_NCI
|
||||
|
||||
config NFC_NCI_SPI
|
||||
depends on NFC_NCI && SPI
|
||||
select CRC_CCITT
|
||||
bool "NCI over SPI protocol support"
|
||||
default n
|
||||
help
|
||||
|
@ -1089,7 +1089,7 @@ exit:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int nfc_genl_fw_upload(struct sk_buff *skb, struct genl_info *info)
|
||||
static int nfc_genl_fw_download(struct sk_buff *skb, struct genl_info *info)
|
||||
{
|
||||
struct nfc_dev *dev;
|
||||
int rc;
|
||||
@ -1108,13 +1108,13 @@ static int nfc_genl_fw_upload(struct sk_buff *skb, struct genl_info *info)
|
||||
nla_strlcpy(firmware_name, info->attrs[NFC_ATTR_FIRMWARE_NAME],
|
||||
sizeof(firmware_name));
|
||||
|
||||
rc = nfc_fw_upload(dev, firmware_name);
|
||||
rc = nfc_fw_download(dev, firmware_name);
|
||||
|
||||
nfc_put_device(dev);
|
||||
return rc;
|
||||
}
|
||||
|
||||
int nfc_genl_fw_upload_done(struct nfc_dev *dev, const char *firmware_name)
|
||||
int nfc_genl_fw_download_done(struct nfc_dev *dev, const char *firmware_name)
|
||||
{
|
||||
struct sk_buff *msg;
|
||||
void *hdr;
|
||||
@ -1124,7 +1124,7 @@ int nfc_genl_fw_upload_done(struct nfc_dev *dev, const char *firmware_name)
|
||||
return -ENOMEM;
|
||||
|
||||
hdr = genlmsg_put(msg, 0, 0, &nfc_genl_family, 0,
|
||||
NFC_CMD_FW_UPLOAD);
|
||||
NFC_CMD_FW_DOWNLOAD);
|
||||
if (!hdr)
|
||||
goto free_msg;
|
||||
|
||||
@ -1251,8 +1251,8 @@ static struct genl_ops nfc_genl_ops[] = {
|
||||
.policy = nfc_genl_policy,
|
||||
},
|
||||
{
|
||||
.cmd = NFC_CMD_FW_UPLOAD,
|
||||
.doit = nfc_genl_fw_upload,
|
||||
.cmd = NFC_CMD_FW_DOWNLOAD,
|
||||
.doit = nfc_genl_fw_download,
|
||||
.policy = nfc_genl_policy,
|
||||
},
|
||||
{
|
||||
|
@ -123,10 +123,10 @@ static inline void nfc_device_iter_exit(struct class_dev_iter *iter)
|
||||
class_dev_iter_exit(iter);
|
||||
}
|
||||
|
||||
int nfc_fw_upload(struct nfc_dev *dev, const char *firmware_name);
|
||||
int nfc_genl_fw_upload_done(struct nfc_dev *dev, const char *firmware_name);
|
||||
int nfc_fw_download(struct nfc_dev *dev, const char *firmware_name);
|
||||
int nfc_genl_fw_download_done(struct nfc_dev *dev, const char *firmware_name);
|
||||
|
||||
int nfc_fw_upload_done(struct nfc_dev *dev, const char *firmware_name);
|
||||
int nfc_fw_download_done(struct nfc_dev *dev, const char *firmware_name);
|
||||
|
||||
int nfc_dev_up(struct nfc_dev *dev);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user