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,
        },
 };
 
-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,
 
        __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);
 
 #endif /* __LOCAL_S3FWRN5_NCI_H_ */
 
        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;
 };
 
 
 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;
 }
 
 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)
 }
 
 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)