Merge branch 'nfc-const'
Krzysztof Kozlowski says: ==================== nfc: constify data structures Constify pointers to several data structures which are not modified by NFC core or by drivers to make it slightly safer. No functional impact expected. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
0e80432675
|
@ -181,7 +181,7 @@ xmit_from_hci():
|
|||
The llc must be registered with nfc before it can be used. Do that by
|
||||
calling::
|
||||
|
||||
nfc_llc_register(const char *name, struct nfc_llc_ops *ops);
|
||||
nfc_llc_register(const char *name, const struct nfc_llc_ops *ops);
|
||||
|
||||
Again, note that the llc does not handle the physical link. It is thus very
|
||||
easy to mix any physical link with any llc for a given chip driver.
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#define NCI_OP_PROP_SET_PDATA_OID 0x23
|
||||
|
||||
struct fdp_nci_info {
|
||||
struct nfc_phy_ops *phy_ops;
|
||||
const struct nfc_phy_ops *phy_ops;
|
||||
struct fdp_i2c_phy *phy;
|
||||
struct nci_dev *ndev;
|
||||
|
||||
|
@ -651,7 +651,7 @@ static int fdp_nci_core_get_config_rsp_packet(struct nci_dev *ndev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct nci_driver_ops fdp_core_ops[] = {
|
||||
static const struct nci_driver_ops fdp_core_ops[] = {
|
||||
{
|
||||
.opcode = NCI_OP_CORE_GET_CONFIG_RSP,
|
||||
.rsp = fdp_nci_core_get_config_rsp_packet,
|
||||
|
@ -662,7 +662,7 @@ static struct nci_driver_ops fdp_core_ops[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct nci_driver_ops fdp_prop_ops[] = {
|
||||
static const struct nci_driver_ops fdp_prop_ops[] = {
|
||||
{
|
||||
.opcode = nci_opcode_pack(NCI_GID_PROP, NCI_OP_PROP_PATCH_OID),
|
||||
.rsp = fdp_nci_prop_patch_rsp_packet,
|
||||
|
@ -675,7 +675,7 @@ static struct nci_driver_ops fdp_prop_ops[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct nci_ops nci_ops = {
|
||||
static const struct nci_ops nci_ops = {
|
||||
.open = fdp_nci_open,
|
||||
.close = fdp_nci_close,
|
||||
.send = fdp_nci_send,
|
||||
|
@ -687,7 +687,7 @@ static struct nci_ops nci_ops = {
|
|||
.n_core_ops = ARRAY_SIZE(fdp_core_ops),
|
||||
};
|
||||
|
||||
int fdp_nci_probe(struct fdp_i2c_phy *phy, struct nfc_phy_ops *phy_ops,
|
||||
int fdp_nci_probe(struct fdp_i2c_phy *phy, const struct nfc_phy_ops *phy_ops,
|
||||
struct nci_dev **ndevp, int tx_headroom,
|
||||
int tx_tailroom, u8 clock_type, u32 clock_freq,
|
||||
u8 *fw_vsc_cfg)
|
||||
|
@ -718,6 +718,7 @@ int fdp_nci_probe(struct fdp_i2c_phy *phy, struct nfc_phy_ops *phy_ops,
|
|||
NFC_PROTO_NFC_DEP_MASK |
|
||||
NFC_PROTO_ISO15693_MASK;
|
||||
|
||||
BUILD_BUG_ON(ARRAY_SIZE(fdp_prop_ops) > NCI_MAX_PROPRIETARY_CMD);
|
||||
ndev = nci_allocate_device(&nci_ops, protocols, tx_headroom,
|
||||
tx_tailroom);
|
||||
if (!ndev) {
|
||||
|
|
|
@ -21,7 +21,7 @@ struct fdp_i2c_phy {
|
|||
uint16_t next_read_size;
|
||||
};
|
||||
|
||||
int fdp_nci_probe(struct fdp_i2c_phy *phy, struct nfc_phy_ops *phy_ops,
|
||||
int fdp_nci_probe(struct fdp_i2c_phy *phy, const struct nfc_phy_ops *phy_ops,
|
||||
struct nci_dev **ndev, int tx_headroom, int tx_tailroom,
|
||||
u8 clock_type, u32 clock_freq, u8 *fw_vsc_cfg);
|
||||
void fdp_nci_remove(struct nci_dev *ndev);
|
||||
|
|
|
@ -120,7 +120,7 @@ static int fdp_nci_i2c_write(void *phy_id, struct sk_buff *skb)
|
|||
return r;
|
||||
}
|
||||
|
||||
static struct nfc_phy_ops i2c_phy_ops = {
|
||||
static const struct nfc_phy_ops i2c_phy_ops = {
|
||||
.write = fdp_nci_i2c_write,
|
||||
.enable = fdp_nci_i2c_enable,
|
||||
.disable = fdp_nci_i2c_disable,
|
||||
|
|
|
@ -362,7 +362,7 @@ static void nfc_mei_phy_disable(void *phy_id)
|
|||
phy->powered = 0;
|
||||
}
|
||||
|
||||
struct nfc_phy_ops mei_phy_ops = {
|
||||
const struct nfc_phy_ops mei_phy_ops = {
|
||||
.write = nfc_mei_phy_write,
|
||||
.enable = nfc_mei_phy_enable,
|
||||
.disable = nfc_mei_phy_disable,
|
||||
|
|
|
@ -45,7 +45,7 @@ struct nfc_mei_phy {
|
|||
int hard_fault;
|
||||
};
|
||||
|
||||
extern struct nfc_phy_ops mei_phy_ops;
|
||||
extern const struct nfc_phy_ops mei_phy_ops;
|
||||
|
||||
struct nfc_mei_phy *nfc_mei_phy_alloc(struct mei_cl_device *device);
|
||||
void nfc_mei_phy_free(struct nfc_mei_phy *phy);
|
||||
|
|
|
@ -225,7 +225,7 @@ static irqreturn_t microread_i2c_irq_thread_fn(int irq, void *phy_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct nfc_phy_ops i2c_phy_ops = {
|
||||
static const struct nfc_phy_ops i2c_phy_ops = {
|
||||
.write = microread_i2c_write,
|
||||
.enable = microread_i2c_enable,
|
||||
.disable = microread_i2c_disable,
|
||||
|
|
|
@ -131,7 +131,7 @@
|
|||
#define MICROREAD_ELT_ID_SE2 0x04
|
||||
#define MICROREAD_ELT_ID_SE3 0x05
|
||||
|
||||
static struct nfc_hci_gate microread_gates[] = {
|
||||
static const struct nfc_hci_gate microread_gates[] = {
|
||||
{MICROREAD_GATE_ID_ADM, MICROREAD_PIPE_ID_ADMIN},
|
||||
{MICROREAD_GATE_ID_LOOPBACK, MICROREAD_PIPE_ID_HDS_LOOPBACK},
|
||||
{MICROREAD_GATE_ID_IDT, MICROREAD_PIPE_ID_HDS_IDT},
|
||||
|
@ -152,7 +152,7 @@ static struct nfc_hci_gate microread_gates[] = {
|
|||
#define MICROREAD_CMD_TAILROOM 2
|
||||
|
||||
struct microread_info {
|
||||
struct nfc_phy_ops *phy_ops;
|
||||
const struct nfc_phy_ops *phy_ops;
|
||||
void *phy_id;
|
||||
|
||||
struct nfc_hci_dev *hdev;
|
||||
|
@ -625,7 +625,7 @@ static int microread_event_received(struct nfc_hci_dev *hdev, u8 pipe,
|
|||
return r;
|
||||
}
|
||||
|
||||
static struct nfc_hci_ops microread_hci_ops = {
|
||||
static const struct nfc_hci_ops microread_hci_ops = {
|
||||
.open = microread_open,
|
||||
.close = microread_close,
|
||||
.hci_ready = microread_hci_ready,
|
||||
|
@ -641,9 +641,9 @@ static struct nfc_hci_ops microread_hci_ops = {
|
|||
.event_received = microread_event_received,
|
||||
};
|
||||
|
||||
int microread_probe(void *phy_id, struct nfc_phy_ops *phy_ops, char *llc_name,
|
||||
int phy_headroom, int phy_tailroom, int phy_payload,
|
||||
struct nfc_hci_dev **hdev)
|
||||
int microread_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
char *llc_name, int phy_headroom, int phy_tailroom,
|
||||
int phy_payload, struct nfc_hci_dev **hdev)
|
||||
{
|
||||
struct microread_info *info;
|
||||
unsigned long quirks = 0;
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
|
||||
#define DRIVER_DESC "NFC driver for microread"
|
||||
|
||||
int microread_probe(void *phy_id, struct nfc_phy_ops *phy_ops, char *llc_name,
|
||||
int phy_headroom, int phy_tailroom, int phy_payload,
|
||||
struct nfc_hci_dev **hdev);
|
||||
int microread_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
char *llc_name, int phy_headroom, int phy_tailroom,
|
||||
int phy_payload, struct nfc_hci_dev **hdev);
|
||||
|
||||
void microread_remove(struct nfc_hci_dev *hdev);
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ static int nfcmrvl_nci_fw_download(struct nci_dev *ndev,
|
|||
return nfcmrvl_fw_dnld_start(ndev, firmware_name);
|
||||
}
|
||||
|
||||
static struct nci_ops nfcmrvl_nci_ops = {
|
||||
static const struct nci_ops nfcmrvl_nci_ops = {
|
||||
.open = nfcmrvl_nci_open,
|
||||
.close = nfcmrvl_nci_close,
|
||||
.send = nfcmrvl_nci_send,
|
||||
|
|
|
@ -320,7 +320,7 @@ static int nfcsim_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
|
|||
return nfcsim_send(ddev, NULL, timeout, cb, arg);
|
||||
}
|
||||
|
||||
static struct nfc_digital_ops nfcsim_digital_ops = {
|
||||
static const struct nfc_digital_ops nfcsim_digital_ops = {
|
||||
.in_configure_hw = nfcsim_in_configure_hw,
|
||||
.in_send_cmd = nfcsim_in_send_cmd,
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ static int nxp_nci_send(struct nci_dev *ndev, struct sk_buff *skb)
|
|||
return r;
|
||||
}
|
||||
|
||||
static struct nci_ops nxp_nci_ops = {
|
||||
static const struct nci_ops nxp_nci_ops = {
|
||||
.open = nxp_nci_open,
|
||||
.close = nxp_nci_close,
|
||||
.send = nxp_nci_send,
|
||||
|
|
|
@ -2623,7 +2623,7 @@ static int pn533_dev_down(struct nfc_dev *nfc_dev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static struct nfc_ops pn533_nfc_ops = {
|
||||
static const struct nfc_ops pn533_nfc_ops = {
|
||||
.dev_up = pn533_dev_up,
|
||||
.dev_down = pn533_dev_down,
|
||||
.dep_link_up = pn533_dep_link_up,
|
||||
|
|
|
@ -515,7 +515,7 @@ static irqreturn_t pn544_hci_i2c_irq_thread_fn(int irq, void *phy_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct nfc_phy_ops i2c_phy_ops = {
|
||||
static const struct nfc_phy_ops i2c_phy_ops = {
|
||||
.write = pn544_hci_i2c_write,
|
||||
.enable = pn544_hci_i2c_enable,
|
||||
.disable = pn544_hci_i2c_disable,
|
||||
|
|
|
@ -86,7 +86,7 @@ enum pn544_state {
|
|||
#define PN544_HCI_CMD_ATTREQUEST 0x12
|
||||
#define PN544_HCI_CMD_CONTINUE_ACTIVATION 0x13
|
||||
|
||||
static struct nfc_hci_gate pn544_gates[] = {
|
||||
static const struct nfc_hci_gate pn544_gates[] = {
|
||||
{NFC_HCI_ADMIN_GATE, NFC_HCI_INVALID_PIPE},
|
||||
{NFC_HCI_LOOPBACK_GATE, NFC_HCI_INVALID_PIPE},
|
||||
{NFC_HCI_ID_MGMT_GATE, NFC_HCI_INVALID_PIPE},
|
||||
|
@ -108,7 +108,7 @@ static struct nfc_hci_gate pn544_gates[] = {
|
|||
#define PN544_CMDS_HEADROOM 2
|
||||
|
||||
struct pn544_hci_info {
|
||||
struct nfc_phy_ops *phy_ops;
|
||||
const struct nfc_phy_ops *phy_ops;
|
||||
void *phy_id;
|
||||
|
||||
struct nfc_hci_dev *hdev;
|
||||
|
@ -881,7 +881,7 @@ static int pn544_hci_disable_se(struct nfc_hci_dev *hdev, u32 se_idx)
|
|||
}
|
||||
}
|
||||
|
||||
static struct nfc_hci_ops pn544_hci_ops = {
|
||||
static const struct nfc_hci_ops pn544_hci_ops = {
|
||||
.open = pn544_hci_open,
|
||||
.close = pn544_hci_close,
|
||||
.hci_ready = pn544_hci_ready,
|
||||
|
@ -901,9 +901,10 @@ static struct nfc_hci_ops pn544_hci_ops = {
|
|||
.disable_se = pn544_hci_disable_se,
|
||||
};
|
||||
|
||||
int pn544_hci_probe(void *phy_id, struct nfc_phy_ops *phy_ops, char *llc_name,
|
||||
int phy_headroom, int phy_tailroom, int phy_payload,
|
||||
fw_download_t fw_download, struct nfc_hci_dev **hdev)
|
||||
int pn544_hci_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
char *llc_name, int phy_headroom, int phy_tailroom,
|
||||
int phy_payload, fw_download_t fw_download,
|
||||
struct nfc_hci_dev **hdev)
|
||||
{
|
||||
struct pn544_hci_info *info;
|
||||
u32 protocols;
|
||||
|
|
|
@ -16,9 +16,10 @@
|
|||
typedef int (*fw_download_t)(void *context, const char *firmware_name,
|
||||
u8 hw_variant);
|
||||
|
||||
int pn544_hci_probe(void *phy_id, struct nfc_phy_ops *phy_ops, char *llc_name,
|
||||
int phy_headroom, int phy_tailroom, int phy_payload,
|
||||
fw_download_t fw_download, struct nfc_hci_dev **hdev);
|
||||
int pn544_hci_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
char *llc_name, int phy_headroom, int phy_tailroom,
|
||||
int phy_payload, fw_download_t fw_download,
|
||||
struct nfc_hci_dev **hdev);
|
||||
void pn544_hci_remove(struct nfc_hci_dev *hdev);
|
||||
|
||||
#endif /* __LOCAL_PN544_H_ */
|
||||
|
|
|
@ -1463,7 +1463,7 @@ static int port100_listen(struct nfc_digital_dev *ddev, u16 timeout,
|
|||
return port100_tg_send_cmd(ddev, skb, timeout, cb, arg);
|
||||
}
|
||||
|
||||
static struct nfc_digital_ops port100_digital_ops = {
|
||||
static const struct nfc_digital_ops port100_digital_ops = {
|
||||
.in_configure_hw = port100_in_configure_hw,
|
||||
.in_send_cmd = port100_in_send_cmd,
|
||||
|
||||
|
|
|
@ -143,11 +143,13 @@ static int s3fwrn5_nci_post_setup(struct nci_dev *ndev)
|
|||
return nci_core_init(info->ndev);
|
||||
}
|
||||
|
||||
static struct nci_ops s3fwrn5_nci_ops = {
|
||||
static const struct nci_ops s3fwrn5_nci_ops = {
|
||||
.open = s3fwrn5_nci_open,
|
||||
.close = s3fwrn5_nci_close,
|
||||
.send = s3fwrn5_nci_send,
|
||||
.post_setup = s3fwrn5_nci_post_setup,
|
||||
.prop_ops = s3fwrn5_nci_prop_ops,
|
||||
.n_prop_ops = ARRAY_SIZE(s3fwrn5_nci_prop_ops),
|
||||
};
|
||||
|
||||
int s3fwrn5_probe(struct nci_dev **ndev, void *phy_id, struct device *pdev,
|
||||
|
@ -167,9 +169,6 @@ int s3fwrn5_probe(struct nci_dev **ndev, void *phy_id, struct device *pdev,
|
|||
|
||||
s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD);
|
||||
|
||||
s3fwrn5_nci_get_prop_ops(&s3fwrn5_nci_ops.prop_ops,
|
||||
&s3fwrn5_nci_ops.n_prop_ops);
|
||||
|
||||
info->ndev = nci_allocate_device(&s3fwrn5_nci_ops,
|
||||
S3FWRN5_NFC_PROTOCOLS, 0, 0);
|
||||
if (!info->ndev)
|
||||
|
|
|
@ -20,7 +20,7 @@ static int s3fwrn5_nci_prop_rsp(struct nci_dev *ndev, struct sk_buff *skb)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct nci_driver_ops s3fwrn5_nci_prop_ops[] = {
|
||||
const struct nci_driver_ops s3fwrn5_nci_prop_ops[4] = {
|
||||
{
|
||||
.opcode = nci_opcode_pack(NCI_GID_PROPRIETARY,
|
||||
NCI_PROP_SET_RFREG),
|
||||
|
@ -43,12 +43,6 @@ static struct nci_driver_ops s3fwrn5_nci_prop_ops[] = {
|
|||
},
|
||||
};
|
||||
|
||||
void s3fwrn5_nci_get_prop_ops(struct nci_driver_ops **ops, size_t *n)
|
||||
{
|
||||
*ops = s3fwrn5_nci_prop_ops;
|
||||
*n = ARRAY_SIZE(s3fwrn5_nci_prop_ops);
|
||||
}
|
||||
|
||||
#define S3FWRN5_RFREG_SECTION_SIZE 252
|
||||
|
||||
int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name)
|
||||
|
|
|
@ -50,7 +50,7 @@ struct nci_prop_fw_cfg_rsp {
|
|||
__u8 status;
|
||||
};
|
||||
|
||||
void s3fwrn5_nci_get_prop_ops(struct nci_driver_ops **ops, size_t *n);
|
||||
extern const struct nci_driver_ops s3fwrn5_nci_prop_ops[4];
|
||||
int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name);
|
||||
|
||||
#endif /* __LOCAL_S3FWRN5_NCI_H_ */
|
||||
|
|
|
@ -86,7 +86,7 @@ static int st_nci_prop_rsp_packet(struct nci_dev *ndev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct nci_driver_ops st_nci_prop_ops[] = {
|
||||
static const struct nci_driver_ops st_nci_prop_ops[] = {
|
||||
{
|
||||
.opcode = nci_opcode_pack(NCI_GID_PROPRIETARY,
|
||||
ST_NCI_CORE_PROP),
|
||||
|
@ -94,7 +94,7 @@ static struct nci_driver_ops st_nci_prop_ops[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct nci_ops st_nci_ops = {
|
||||
static const struct nci_ops st_nci_ops = {
|
||||
.init = st_nci_init,
|
||||
.open = st_nci_open,
|
||||
.close = st_nci_close,
|
||||
|
@ -131,6 +131,7 @@ int st_nci_probe(struct llt_ndlc *ndlc, int phy_headroom,
|
|||
| NFC_PROTO_ISO15693_MASK
|
||||
| NFC_PROTO_NFC_DEP_MASK;
|
||||
|
||||
BUILD_BUG_ON(ARRAY_SIZE(st_nci_prop_ops) > NCI_MAX_PROPRIETARY_CMD);
|
||||
ndlc->ndev = nci_allocate_device(&st_nci_ops, protocols,
|
||||
phy_headroom, phy_tailroom);
|
||||
if (!ndlc->ndev) {
|
||||
|
|
|
@ -186,7 +186,7 @@ static irqreturn_t st_nci_irq_thread_fn(int irq, void *phy_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct nfc_phy_ops i2c_phy_ops = {
|
||||
static const struct nfc_phy_ops i2c_phy_ops = {
|
||||
.write = st_nci_i2c_write,
|
||||
.enable = st_nci_i2c_enable,
|
||||
.disable = st_nci_i2c_disable,
|
||||
|
|
|
@ -253,9 +253,9 @@ static void ndlc_t2_timeout(struct timer_list *t)
|
|||
schedule_work(&ndlc->sm_work);
|
||||
}
|
||||
|
||||
int ndlc_probe(void *phy_id, struct nfc_phy_ops *phy_ops, struct device *dev,
|
||||
int phy_headroom, int phy_tailroom, struct llt_ndlc **ndlc_id,
|
||||
struct st_nci_se_status *se_status)
|
||||
int ndlc_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
struct device *dev, int phy_headroom, int phy_tailroom,
|
||||
struct llt_ndlc **ndlc_id, struct st_nci_se_status *se_status)
|
||||
{
|
||||
struct llt_ndlc *ndlc;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ struct st_nci_se_status;
|
|||
/* Low Level Transport description */
|
||||
struct llt_ndlc {
|
||||
struct nci_dev *ndev;
|
||||
struct nfc_phy_ops *ops;
|
||||
const struct nfc_phy_ops *ops;
|
||||
void *phy_id;
|
||||
|
||||
struct timer_list t1_timer;
|
||||
|
@ -45,8 +45,8 @@ int ndlc_open(struct llt_ndlc *ndlc);
|
|||
void ndlc_close(struct llt_ndlc *ndlc);
|
||||
int ndlc_send(struct llt_ndlc *ndlc, struct sk_buff *skb);
|
||||
void ndlc_recv(struct llt_ndlc *ndlc, struct sk_buff *skb);
|
||||
int ndlc_probe(void *phy_id, struct nfc_phy_ops *phy_ops, struct device *dev,
|
||||
int phy_headroom, int phy_tailroom, struct llt_ndlc **ndlc_id,
|
||||
struct st_nci_se_status *se_status);
|
||||
int ndlc_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
struct device *dev, int phy_headroom, int phy_tailroom,
|
||||
struct llt_ndlc **ndlc_id, struct st_nci_se_status *se_status);
|
||||
void ndlc_remove(struct llt_ndlc *ndlc);
|
||||
#endif /* __LOCAL_NDLC_H__ */
|
||||
|
|
|
@ -198,7 +198,7 @@ static irqreturn_t st_nci_irq_thread_fn(int irq, void *phy_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct nfc_phy_ops spi_phy_ops = {
|
||||
static const struct nfc_phy_ops spi_phy_ops = {
|
||||
.write = st_nci_spi_write,
|
||||
.enable = st_nci_spi_enable,
|
||||
.disable = st_nci_spi_disable,
|
||||
|
|
|
@ -371,7 +371,7 @@ static int st_nci_manufacturer_specific(struct nfc_dev *dev, void *data,
|
|||
return nfc_vendor_cmd_reply(msg);
|
||||
}
|
||||
|
||||
static struct nfc_vendor_cmd st_nci_vendor_cmds[] = {
|
||||
static const struct nfc_vendor_cmd st_nci_vendor_cmds[] = {
|
||||
{
|
||||
.vendor_id = ST_NCI_VENDOR_OUI,
|
||||
.subcmd = FACTORY_MODE,
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
static DECLARE_BITMAP(dev_mask, ST21NFCA_NUM_DEVICES);
|
||||
|
||||
static struct nfc_hci_gate st21nfca_gates[] = {
|
||||
static const struct nfc_hci_gate st21nfca_gates[] = {
|
||||
{NFC_HCI_ADMIN_GATE, NFC_HCI_ADMIN_PIPE},
|
||||
{NFC_HCI_LINK_MGMT_GATE, NFC_HCI_LINK_MGMT_PIPE},
|
||||
{ST21NFCA_DEVICE_MGNT_GATE, ST21NFCA_DEVICE_MGNT_PIPE},
|
||||
|
@ -912,7 +912,7 @@ static int st21nfca_hci_event_received(struct nfc_hci_dev *hdev, u8 pipe,
|
|||
}
|
||||
}
|
||||
|
||||
static struct nfc_hci_ops st21nfca_hci_ops = {
|
||||
static const struct nfc_hci_ops st21nfca_hci_ops = {
|
||||
.open = st21nfca_hci_open,
|
||||
.close = st21nfca_hci_close,
|
||||
.load_session = st21nfca_hci_load_session,
|
||||
|
@ -935,7 +935,7 @@ static struct nfc_hci_ops st21nfca_hci_ops = {
|
|||
.se_io = st21nfca_hci_se_io,
|
||||
};
|
||||
|
||||
int st21nfca_hci_probe(void *phy_id, struct nfc_phy_ops *phy_ops,
|
||||
int st21nfca_hci_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
char *llc_name, int phy_headroom, int phy_tailroom,
|
||||
int phy_payload, struct nfc_hci_dev **hdev,
|
||||
struct st21nfca_se_status *se_status)
|
||||
|
|
|
@ -76,8 +76,8 @@ struct st21nfca_i2c_phy {
|
|||
struct mutex phy_lock;
|
||||
};
|
||||
|
||||
static u8 len_seq[] = { 16, 24, 12, 29 };
|
||||
static u16 wait_tab[] = { 2, 3, 5, 15, 20, 40};
|
||||
static const u8 len_seq[] = { 16, 24, 12, 29 };
|
||||
static const u16 wait_tab[] = { 2, 3, 5, 15, 20, 40};
|
||||
|
||||
#define I2C_DUMP_SKB(info, skb) \
|
||||
do { \
|
||||
|
@ -482,7 +482,7 @@ static irqreturn_t st21nfca_hci_irq_thread_fn(int irq, void *phy_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct nfc_phy_ops i2c_phy_ops = {
|
||||
static const struct nfc_phy_ops i2c_phy_ops = {
|
||||
.write = st21nfca_hci_i2c_write,
|
||||
.enable = st21nfca_hci_i2c_enable,
|
||||
.disable = st21nfca_hci_i2c_disable,
|
||||
|
|
|
@ -144,7 +144,7 @@ struct st21nfca_se_info {
|
|||
};
|
||||
|
||||
struct st21nfca_hci_info {
|
||||
struct nfc_phy_ops *phy_ops;
|
||||
const struct nfc_phy_ops *phy_ops;
|
||||
void *phy_id;
|
||||
|
||||
struct nfc_hci_dev *hdev;
|
||||
|
@ -163,7 +163,7 @@ struct st21nfca_hci_info {
|
|||
struct st21nfca_vendor_info vendor_info;
|
||||
};
|
||||
|
||||
int st21nfca_hci_probe(void *phy_id, struct nfc_phy_ops *phy_ops,
|
||||
int st21nfca_hci_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
|
||||
char *llc_name, int phy_headroom, int phy_tailroom,
|
||||
int phy_payload, struct nfc_hci_dev **hdev,
|
||||
struct st21nfca_se_status *se_status);
|
||||
|
|
|
@ -295,7 +295,7 @@ exit:
|
|||
return r;
|
||||
}
|
||||
|
||||
static struct nfc_vendor_cmd st21nfca_vendor_cmds[] = {
|
||||
static const struct nfc_vendor_cmd st21nfca_vendor_cmds[] = {
|
||||
{
|
||||
.vendor_id = ST21NFCA_VENDOR_OUI,
|
||||
.subcmd = FACTORY_MODE,
|
||||
|
|
|
@ -1037,7 +1037,7 @@ static void st95hf_abort_cmd(struct nfc_digital_dev *ddev)
|
|||
{
|
||||
}
|
||||
|
||||
static struct nfc_digital_ops st95hf_nfc_digital_ops = {
|
||||
static const struct nfc_digital_ops st95hf_nfc_digital_ops = {
|
||||
.in_configure_hw = st95hf_in_configure_hw,
|
||||
.in_send_cmd = st95hf_in_send_cmd,
|
||||
|
||||
|
|
|
@ -1861,7 +1861,7 @@ static void trf7970a_abort_cmd(struct nfc_digital_dev *ddev)
|
|||
mutex_unlock(&trf->lock);
|
||||
}
|
||||
|
||||
static struct nfc_digital_ops trf7970a_nfc_ops = {
|
||||
static const struct nfc_digital_ops trf7970a_nfc_ops = {
|
||||
.in_configure_hw = trf7970a_in_configure_hw,
|
||||
.in_send_cmd = trf7970a_send_cmd,
|
||||
.tg_configure_hw = trf7970a_tg_configure_hw,
|
||||
|
|
|
@ -65,7 +65,7 @@ static int virtual_nci_send(struct nci_dev *ndev, struct sk_buff *skb)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct nci_ops virtual_nci_ops = {
|
||||
static const struct nci_ops virtual_nci_ops = {
|
||||
.open = virtual_nci_open,
|
||||
.close = virtual_nci_close,
|
||||
.send = virtual_nci_send
|
||||
|
|
|
@ -191,7 +191,7 @@ struct digital_poll_tech {
|
|||
|
||||
struct nfc_digital_dev {
|
||||
struct nfc_dev *nfc_dev;
|
||||
struct nfc_digital_ops *ops;
|
||||
const struct nfc_digital_ops *ops;
|
||||
|
||||
u32 protocols;
|
||||
|
||||
|
@ -236,7 +236,7 @@ struct nfc_digital_dev {
|
|||
void (*skb_add_crc)(struct sk_buff *skb);
|
||||
};
|
||||
|
||||
struct nfc_digital_dev *nfc_digital_allocate_device(struct nfc_digital_ops *ops,
|
||||
struct nfc_digital_dev *nfc_digital_allocate_device(const struct nfc_digital_ops *ops,
|
||||
__u32 supported_protocols,
|
||||
__u32 driver_capabilities,
|
||||
int tx_headroom,
|
||||
|
|
|
@ -118,7 +118,7 @@ struct nfc_hci_dev {
|
|||
|
||||
struct sk_buff_head msg_rx_queue;
|
||||
|
||||
struct nfc_hci_ops *ops;
|
||||
const struct nfc_hci_ops *ops;
|
||||
|
||||
struct nfc_llc *llc;
|
||||
|
||||
|
@ -151,7 +151,7 @@ struct nfc_hci_dev {
|
|||
};
|
||||
|
||||
/* hci device allocation */
|
||||
struct nfc_hci_dev *nfc_hci_allocate_device(struct nfc_hci_ops *ops,
|
||||
struct nfc_hci_dev *nfc_hci_allocate_device(const struct nfc_hci_ops *ops,
|
||||
struct nfc_hci_init_data *init_data,
|
||||
unsigned long quirks,
|
||||
u32 protocols,
|
||||
|
@ -168,7 +168,7 @@ void nfc_hci_set_clientdata(struct nfc_hci_dev *hdev, void *clientdata);
|
|||
void *nfc_hci_get_clientdata(struct nfc_hci_dev *hdev);
|
||||
|
||||
static inline int nfc_hci_set_vendor_cmds(struct nfc_hci_dev *hdev,
|
||||
struct nfc_vendor_cmd *cmds,
|
||||
const struct nfc_vendor_cmd *cmds,
|
||||
int n_cmds)
|
||||
{
|
||||
return nfc_set_vendor_cmds(hdev->ndev, cmds, n_cmds);
|
||||
|
|
|
@ -82,10 +82,10 @@ struct nci_ops {
|
|||
void (*hci_cmd_received)(struct nci_dev *ndev, u8 pipe, u8 cmd,
|
||||
struct sk_buff *skb);
|
||||
|
||||
struct nci_driver_ops *prop_ops;
|
||||
const struct nci_driver_ops *prop_ops;
|
||||
size_t n_prop_ops;
|
||||
|
||||
struct nci_driver_ops *core_ops;
|
||||
const struct nci_driver_ops *core_ops;
|
||||
size_t n_core_ops;
|
||||
};
|
||||
|
||||
|
@ -194,7 +194,7 @@ struct nci_hci_dev {
|
|||
/* NCI Core structures */
|
||||
struct nci_dev {
|
||||
struct nfc_dev *nfc_dev;
|
||||
struct nci_ops *ops;
|
||||
const struct nci_ops *ops;
|
||||
struct nci_hci_dev *hci_dev;
|
||||
|
||||
int tx_headroom;
|
||||
|
@ -267,7 +267,7 @@ struct nci_dev {
|
|||
};
|
||||
|
||||
/* ----- NCI Devices ----- */
|
||||
struct nci_dev *nci_allocate_device(struct nci_ops *ops,
|
||||
struct nci_dev *nci_allocate_device(const struct nci_ops *ops,
|
||||
__u32 supported_protocols,
|
||||
int tx_headroom,
|
||||
int tx_tailroom);
|
||||
|
@ -343,7 +343,7 @@ static inline void *nci_get_drvdata(struct nci_dev *ndev)
|
|||
}
|
||||
|
||||
static inline int nci_set_vendor_cmds(struct nci_dev *ndev,
|
||||
struct nfc_vendor_cmd *cmds,
|
||||
const struct nfc_vendor_cmd *cmds,
|
||||
int n_cmds)
|
||||
{
|
||||
return nfc_set_vendor_cmds(ndev->nfc_dev, cmds, n_cmds);
|
||||
|
@ -360,7 +360,7 @@ int nci_core_rsp_packet(struct nci_dev *ndev, __u16 opcode,
|
|||
int nci_core_ntf_packet(struct nci_dev *ndev, __u16 opcode,
|
||||
struct sk_buff *skb);
|
||||
void nci_rx_data_packet(struct nci_dev *ndev, struct sk_buff *skb);
|
||||
int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, void *payload);
|
||||
int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, const void *payload);
|
||||
int nci_send_data(struct nci_dev *ndev, __u8 conn_id, struct sk_buff *skb);
|
||||
int nci_conn_max_data_pkt_payload_size(struct nci_dev *ndev, __u8 conn_id);
|
||||
void nci_data_exchange_complete(struct nci_dev *ndev, struct sk_buff *skb,
|
||||
|
|
|
@ -188,17 +188,17 @@ struct nfc_dev {
|
|||
|
||||
struct rfkill *rfkill;
|
||||
|
||||
struct nfc_vendor_cmd *vendor_cmds;
|
||||
const struct nfc_vendor_cmd *vendor_cmds;
|
||||
int n_vendor_cmds;
|
||||
|
||||
struct nfc_ops *ops;
|
||||
const struct nfc_ops *ops;
|
||||
struct genl_info *cur_cmd_info;
|
||||
};
|
||||
#define to_nfc_dev(_dev) container_of(_dev, struct nfc_dev, dev)
|
||||
|
||||
extern struct class nfc_class;
|
||||
|
||||
struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
|
||||
struct nfc_dev *nfc_allocate_device(const struct nfc_ops *ops,
|
||||
u32 supported_protocols,
|
||||
int tx_headroom,
|
||||
int tx_tailroom);
|
||||
|
@ -297,7 +297,7 @@ void nfc_send_to_raw_sock(struct nfc_dev *dev, struct sk_buff *skb,
|
|||
u8 payload_type, u8 direction);
|
||||
|
||||
static inline int nfc_set_vendor_cmds(struct nfc_dev *dev,
|
||||
struct nfc_vendor_cmd *cmds,
|
||||
const struct nfc_vendor_cmd *cmds,
|
||||
int n_cmds)
|
||||
{
|
||||
if (dev->vendor_cmds || dev->n_vendor_cmds)
|
||||
|
|
|
@ -1048,7 +1048,7 @@ struct nfc_dev *nfc_get_device(unsigned int idx)
|
|||
* @tx_headroom: reserved space at beginning of skb
|
||||
* @tx_tailroom: reserved space at end of skb
|
||||
*/
|
||||
struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
|
||||
struct nfc_dev *nfc_allocate_device(const struct nfc_ops *ops,
|
||||
u32 supported_protocols,
|
||||
int tx_headroom, int tx_tailroom)
|
||||
{
|
||||
|
|
|
@ -732,7 +732,7 @@ exit:
|
|||
return rc;
|
||||
}
|
||||
|
||||
static struct nfc_ops digital_nfc_ops = {
|
||||
static const struct nfc_ops digital_nfc_ops = {
|
||||
.dev_up = digital_dev_up,
|
||||
.dev_down = digital_dev_down,
|
||||
.start_poll = digital_start_poll,
|
||||
|
@ -745,7 +745,7 @@ static struct nfc_ops digital_nfc_ops = {
|
|||
.im_transceive = digital_in_send,
|
||||
};
|
||||
|
||||
struct nfc_digital_dev *nfc_digital_allocate_device(struct nfc_digital_ops *ops,
|
||||
struct nfc_digital_dev *nfc_digital_allocate_device(const struct nfc_digital_ops *ops,
|
||||
__u32 supported_protocols,
|
||||
__u32 driver_capabilities,
|
||||
int tx_headroom, int tx_tailroom)
|
||||
|
|
|
@ -447,7 +447,7 @@ static void nfc_hci_cmd_timeout(struct timer_list *t)
|
|||
}
|
||||
|
||||
static int hci_dev_connect_gates(struct nfc_hci_dev *hdev, u8 gate_count,
|
||||
struct nfc_hci_gate *gates)
|
||||
const struct nfc_hci_gate *gates)
|
||||
{
|
||||
int r;
|
||||
while (gate_count--) {
|
||||
|
@ -928,7 +928,7 @@ static int hci_fw_download(struct nfc_dev *nfc_dev, const char *firmware_name)
|
|||
return hdev->ops->fw_download(hdev, firmware_name);
|
||||
}
|
||||
|
||||
static struct nfc_ops hci_nfc_ops = {
|
||||
static const struct nfc_ops hci_nfc_ops = {
|
||||
.dev_up = hci_dev_up,
|
||||
.dev_down = hci_dev_down,
|
||||
.start_poll = hci_start_poll,
|
||||
|
@ -947,7 +947,7 @@ static struct nfc_ops hci_nfc_ops = {
|
|||
.se_io = hci_se_io,
|
||||
};
|
||||
|
||||
struct nfc_hci_dev *nfc_hci_allocate_device(struct nfc_hci_ops *ops,
|
||||
struct nfc_hci_dev *nfc_hci_allocate_device(const struct nfc_hci_ops *ops,
|
||||
struct nfc_hci_init_data *init_data,
|
||||
unsigned long quirks,
|
||||
u32 protocols,
|
||||
|
|
|
@ -41,7 +41,7 @@ void nfc_llc_exit(void)
|
|||
}
|
||||
}
|
||||
|
||||
int nfc_llc_register(const char *name, struct nfc_llc_ops *ops)
|
||||
int nfc_llc_register(const char *name, const struct nfc_llc_ops *ops)
|
||||
{
|
||||
struct nfc_llc_engine *llc_engine;
|
||||
|
||||
|
|
|
@ -26,20 +26,20 @@ struct nfc_llc_ops {
|
|||
|
||||
struct nfc_llc_engine {
|
||||
const char *name;
|
||||
struct nfc_llc_ops *ops;
|
||||
const struct nfc_llc_ops *ops;
|
||||
struct list_head entry;
|
||||
};
|
||||
|
||||
struct nfc_llc {
|
||||
void *data;
|
||||
struct nfc_llc_ops *ops;
|
||||
const struct nfc_llc_ops *ops;
|
||||
int rx_headroom;
|
||||
int rx_tailroom;
|
||||
};
|
||||
|
||||
void *nfc_llc_get_data(struct nfc_llc *llc);
|
||||
|
||||
int nfc_llc_register(const char *name, struct nfc_llc_ops *ops);
|
||||
int nfc_llc_register(const char *name, const struct nfc_llc_ops *ops);
|
||||
void nfc_llc_unregister(const char *name);
|
||||
|
||||
int nfc_llc_nop_register(void);
|
||||
|
|
|
@ -71,7 +71,7 @@ static int llc_nop_xmit_from_hci(struct nfc_llc *llc, struct sk_buff *skb)
|
|||
return llc_nop->xmit_to_drv(llc_nop->hdev, skb);
|
||||
}
|
||||
|
||||
static struct nfc_llc_ops llc_nop_ops = {
|
||||
static const struct nfc_llc_ops llc_nop_ops = {
|
||||
.init = llc_nop_init,
|
||||
.deinit = llc_nop_deinit,
|
||||
.start = llc_nop_start,
|
||||
|
|
|
@ -820,7 +820,7 @@ static int llc_shdlc_xmit_from_hci(struct nfc_llc *llc, struct sk_buff *skb)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct nfc_llc_ops llc_shdlc_ops = {
|
||||
static const struct nfc_llc_ops llc_shdlc_ops = {
|
||||
.init = llc_shdlc_init,
|
||||
.deinit = llc_shdlc_deinit,
|
||||
.start = llc_shdlc_start,
|
||||
|
|
|
@ -1102,7 +1102,7 @@ static int nci_fw_download(struct nfc_dev *nfc_dev, const char *firmware_name)
|
|||
return ndev->ops->fw_download(ndev, firmware_name);
|
||||
}
|
||||
|
||||
static struct nfc_ops nci_nfc_ops = {
|
||||
static const struct nfc_ops nci_nfc_ops = {
|
||||
.dev_up = nci_dev_up,
|
||||
.dev_down = nci_dev_down,
|
||||
.start_poll = nci_start_poll,
|
||||
|
@ -1129,7 +1129,7 @@ static struct nfc_ops nci_nfc_ops = {
|
|||
* @tx_headroom: Reserved space at beginning of skb
|
||||
* @tx_tailroom: Reserved space at end of skb
|
||||
*/
|
||||
struct nci_dev *nci_allocate_device(struct nci_ops *ops,
|
||||
struct nci_dev *nci_allocate_device(const struct nci_ops *ops,
|
||||
__u32 supported_protocols,
|
||||
int tx_headroom, int tx_tailroom)
|
||||
{
|
||||
|
@ -1152,8 +1152,7 @@ struct nci_dev *nci_allocate_device(struct nci_ops *ops,
|
|||
if (ops->n_prop_ops > NCI_MAX_PROPRIETARY_CMD) {
|
||||
pr_err("Too many proprietary commands: %zd\n",
|
||||
ops->n_prop_ops);
|
||||
ops->prop_ops = NULL;
|
||||
ops->n_prop_ops = 0;
|
||||
goto free_nci;
|
||||
}
|
||||
|
||||
ndev->tx_headroom = tx_headroom;
|
||||
|
@ -1332,7 +1331,7 @@ int nci_send_frame(struct nci_dev *ndev, struct sk_buff *skb)
|
|||
EXPORT_SYMBOL(nci_send_frame);
|
||||
|
||||
/* Send NCI command */
|
||||
int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, void *payload)
|
||||
int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, const void *payload)
|
||||
{
|
||||
struct nci_ctrl_hdr *hdr;
|
||||
struct sk_buff *skb;
|
||||
|
@ -1364,12 +1363,12 @@ int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, void *payload)
|
|||
EXPORT_SYMBOL(nci_send_cmd);
|
||||
|
||||
/* Proprietary commands API */
|
||||
static struct nci_driver_ops *ops_cmd_lookup(struct nci_driver_ops *ops,
|
||||
size_t n_ops,
|
||||
__u16 opcode)
|
||||
static const struct nci_driver_ops *ops_cmd_lookup(const struct nci_driver_ops *ops,
|
||||
size_t n_ops,
|
||||
__u16 opcode)
|
||||
{
|
||||
size_t i;
|
||||
struct nci_driver_ops *op;
|
||||
const struct nci_driver_ops *op;
|
||||
|
||||
if (!ops || !n_ops)
|
||||
return NULL;
|
||||
|
@ -1384,10 +1383,10 @@ static struct nci_driver_ops *ops_cmd_lookup(struct nci_driver_ops *ops,
|
|||
}
|
||||
|
||||
static int nci_op_rsp_packet(struct nci_dev *ndev, __u16 rsp_opcode,
|
||||
struct sk_buff *skb, struct nci_driver_ops *ops,
|
||||
struct sk_buff *skb, const struct nci_driver_ops *ops,
|
||||
size_t n_ops)
|
||||
{
|
||||
struct nci_driver_ops *op;
|
||||
const struct nci_driver_ops *op;
|
||||
|
||||
op = ops_cmd_lookup(ops, n_ops, rsp_opcode);
|
||||
if (!op || !op->rsp)
|
||||
|
@ -1397,10 +1396,10 @@ static int nci_op_rsp_packet(struct nci_dev *ndev, __u16 rsp_opcode,
|
|||
}
|
||||
|
||||
static int nci_op_ntf_packet(struct nci_dev *ndev, __u16 ntf_opcode,
|
||||
struct sk_buff *skb, struct nci_driver_ops *ops,
|
||||
struct sk_buff *skb, const struct nci_driver_ops *ops,
|
||||
size_t n_ops)
|
||||
{
|
||||
struct nci_driver_ops *op;
|
||||
const struct nci_driver_ops *op;
|
||||
|
||||
op = ops_cmd_lookup(ops, n_ops, ntf_opcode);
|
||||
if (!op || !op->ntf)
|
||||
|
|
|
@ -1531,7 +1531,7 @@ static int nfc_genl_vendor_cmd(struct sk_buff *skb,
|
|||
struct genl_info *info)
|
||||
{
|
||||
struct nfc_dev *dev;
|
||||
struct nfc_vendor_cmd *cmd;
|
||||
const struct nfc_vendor_cmd *cmd;
|
||||
u32 dev_idx, vid, subcmd;
|
||||
u8 *data;
|
||||
size_t data_len;
|
||||
|
|
Loading…
Reference in New Issue