Commit cb8caa3c authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by David S. Miller

nfc: constify nci_driver_ops (prop_ops and core_ops)

Neither the core nor the drivers modify the passed pointer to struct
nci_driver_ops (consisting of function pointers), so make it a pointer
to const for correctness and safety.
Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d08ba0fd
...@@ -651,7 +651,7 @@ static int fdp_nci_core_get_config_rsp_packet(struct nci_dev *ndev, ...@@ -651,7 +651,7 @@ static int fdp_nci_core_get_config_rsp_packet(struct nci_dev *ndev,
return 0; 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, .opcode = NCI_OP_CORE_GET_CONFIG_RSP,
.rsp = fdp_nci_core_get_config_rsp_packet, .rsp = fdp_nci_core_get_config_rsp_packet,
...@@ -662,7 +662,7 @@ static struct nci_driver_ops fdp_core_ops[] = { ...@@ -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), .opcode = nci_opcode_pack(NCI_GID_PROP, NCI_OP_PROP_PATCH_OID),
.rsp = fdp_nci_prop_patch_rsp_packet, .rsp = fdp_nci_prop_patch_rsp_packet,
......
...@@ -20,7 +20,7 @@ static int s3fwrn5_nci_prop_rsp(struct nci_dev *ndev, struct sk_buff *skb) ...@@ -20,7 +20,7 @@ static int s3fwrn5_nci_prop_rsp(struct nci_dev *ndev, struct sk_buff *skb)
return 0; return 0;
} }
struct nci_driver_ops s3fwrn5_nci_prop_ops[4] = { const struct nci_driver_ops s3fwrn5_nci_prop_ops[4] = {
{ {
.opcode = nci_opcode_pack(NCI_GID_PROPRIETARY, .opcode = nci_opcode_pack(NCI_GID_PROPRIETARY,
NCI_PROP_SET_RFREG), NCI_PROP_SET_RFREG),
......
...@@ -50,7 +50,7 @@ struct nci_prop_fw_cfg_rsp { ...@@ -50,7 +50,7 @@ struct nci_prop_fw_cfg_rsp {
__u8 status; __u8 status;
}; };
extern struct nci_driver_ops s3fwrn5_nci_prop_ops[4]; extern const struct nci_driver_ops s3fwrn5_nci_prop_ops[4];
int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name); int s3fwrn5_nci_rf_configure(struct s3fwrn5_info *info, const char *fw_name);
#endif /* __LOCAL_S3FWRN5_NCI_H_ */ #endif /* __LOCAL_S3FWRN5_NCI_H_ */
...@@ -86,7 +86,7 @@ static int st_nci_prop_rsp_packet(struct nci_dev *ndev, ...@@ -86,7 +86,7 @@ static int st_nci_prop_rsp_packet(struct nci_dev *ndev,
return 0; 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, .opcode = nci_opcode_pack(NCI_GID_PROPRIETARY,
ST_NCI_CORE_PROP), ST_NCI_CORE_PROP),
......
...@@ -82,10 +82,10 @@ struct nci_ops { ...@@ -82,10 +82,10 @@ struct nci_ops {
void (*hci_cmd_received)(struct nci_dev *ndev, u8 pipe, u8 cmd, void (*hci_cmd_received)(struct nci_dev *ndev, u8 pipe, u8 cmd,
struct sk_buff *skb); struct sk_buff *skb);
struct nci_driver_ops *prop_ops; const struct nci_driver_ops *prop_ops;
size_t n_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; size_t n_core_ops;
}; };
......
...@@ -1363,12 +1363,12 @@ int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, const void *payl ...@@ -1363,12 +1363,12 @@ int nci_send_cmd(struct nci_dev *ndev, __u16 opcode, __u8 plen, const void *payl
EXPORT_SYMBOL(nci_send_cmd); EXPORT_SYMBOL(nci_send_cmd);
/* Proprietary commands API */ /* Proprietary commands API */
static struct nci_driver_ops *ops_cmd_lookup(struct nci_driver_ops *ops, static const struct nci_driver_ops *ops_cmd_lookup(const struct nci_driver_ops *ops,
size_t n_ops, size_t n_ops,
__u16 opcode) __u16 opcode)
{ {
size_t i; size_t i;
struct nci_driver_ops *op; const struct nci_driver_ops *op;
if (!ops || !n_ops) if (!ops || !n_ops)
return NULL; return NULL;
...@@ -1383,10 +1383,10 @@ static struct nci_driver_ops *ops_cmd_lookup(struct nci_driver_ops *ops, ...@@ -1383,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, 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) size_t n_ops)
{ {
struct nci_driver_ops *op; const struct nci_driver_ops *op;
op = ops_cmd_lookup(ops, n_ops, rsp_opcode); op = ops_cmd_lookup(ops, n_ops, rsp_opcode);
if (!op || !op->rsp) if (!op || !op->rsp)
...@@ -1396,10 +1396,10 @@ static int nci_op_rsp_packet(struct nci_dev *ndev, __u16 rsp_opcode, ...@@ -1396,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, 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) size_t n_ops)
{ {
struct nci_driver_ops *op; const struct nci_driver_ops *op;
op = ops_cmd_lookup(ops, n_ops, ntf_opcode); op = ops_cmd_lookup(ops, n_ops, ntf_opcode);
if (!op || !op->ntf) if (!op || !op->ntf)
......
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