}
 
 /* The rule: sum(data elements) + checksum = 0 */
-static u8 port100_data_checksum(u8 *data, int datalen)
+static u8 port100_data_checksum(const u8 *data, int datalen)
 {
        u8 sum = 0;
        int i;
        le16_add_cpu(&frame->datalen, len);
 }
 
-static bool port100_rx_frame_is_valid(void *_frame)
+static bool port100_rx_frame_is_valid(const void *_frame)
 {
        u8 checksum;
-       struct port100_frame *frame = _frame;
+       const struct port100_frame *frame = _frame;
 
        if (frame->start_frame != cpu_to_be16(PORT100_FRAME_SOF) ||
            frame->extended_frame != cpu_to_be16(PORT100_FRAME_EXT))
        return true;
 }
 
-static bool port100_rx_frame_is_ack(struct port100_ack_frame *frame)
+static bool port100_rx_frame_is_ack(const struct port100_ack_frame *frame)
 {
        return (frame->start_frame == cpu_to_be16(PORT100_FRAME_SOF) &&
                frame->ack_frame == cpu_to_be16(PORT100_FRAME_ACK));
 }
 
-static inline int port100_rx_frame_size(void *frame)
+static inline int port100_rx_frame_size(const void *frame)
 {
-       struct port100_frame *f = frame;
+       const struct port100_frame *f = frame;
 
        return sizeof(struct port100_frame) + le16_to_cpu(f->datalen) +
               PORT100_FRAME_TAIL_LEN;
 }
 
-static bool port100_rx_frame_is_cmd_response(struct port100 *dev, void *frame)
+static bool port100_rx_frame_is_cmd_response(const struct port100 *dev,
+                                            const void *frame)
 {
-       struct port100_frame *f = frame;
+       const struct port100_frame *f = frame;
 
        return (PORT100_FRAME_CMD(f) == PORT100_CMD_RESPONSE(dev->cmd->code));
 }
        schedule_work(&dev->cmd_complete_work);
 }
 
-static int port100_submit_urb_for_response(struct port100 *dev, gfp_t flags)
+static int port100_submit_urb_for_response(const struct port100 *dev,
+                                          gfp_t flags)
 {
        dev->in_urb->complete = port100_recv_response;
 
 {
        struct port100 *dev = urb->context;
        struct port100_cmd *cmd = dev->cmd;
-       struct port100_ack_frame *in_frame;
+       const struct port100_ack_frame *in_frame;
        int rc;
 
        cmd->status = urb->status;
        schedule_work(&dev->cmd_complete_work);
 }
 
-static int port100_submit_urb_for_ack(struct port100 *dev, gfp_t flags)
+static int port100_submit_urb_for_ack(const struct port100 *dev, gfp_t flags)
 {
        dev->in_urb->complete = port100_recv_ack;
 
        return rc;
 }
 
-static int port100_send_frame_async(struct port100 *dev, struct sk_buff *out,
-                                   struct sk_buff *in, int in_len)
+static int port100_send_frame_async(struct port100 *dev,
+                                   const struct sk_buff *out,
+                                   const struct sk_buff *in, int in_len)
 {
        int rc;
 
        usb_kill_urb(dev->in_urb);
 }
 
-static struct sk_buff *port100_alloc_skb(struct port100 *dev, unsigned int size)
+static struct sk_buff *port100_alloc_skb(const struct port100 *dev, unsigned int size)
 {
        struct sk_buff *skb;
 
 static void port100_in_comm_rf_complete(struct port100 *dev, void *arg,
                                       struct sk_buff *resp)
 {
-       struct port100_cb_arg *cb_arg = arg;
+       const struct port100_cb_arg *cb_arg = arg;
        nfc_digital_cmd_complete_t cb = cb_arg->complete_cb;
        u32 status;
        int rc;
                                        struct sk_buff *resp)
 {
        u32 status;
-       struct port100_cb_arg *cb_arg = arg;
+       const struct port100_cb_arg *cb_arg = arg;
        nfc_digital_cmd_complete_t cb = cb_arg->complete_cb;
        struct port100_tg_comm_rf_res *hdr;
 
 static int port100_listen(struct nfc_digital_dev *ddev, u16 timeout,
                          nfc_digital_cmd_complete_t cb, void *arg)
 {
-       struct port100 *dev = nfc_digital_get_drvdata(ddev);
+       const struct port100 *dev = nfc_digital_get_drvdata(ddev);
        struct sk_buff *skb;
 
        skb = port100_alloc_skb(dev, 0);