};
 MODULE_DEVICE_TABLE(of, s5p_sss_dt_match);
 
-static inline struct samsung_aes_variant *find_s5p_sss_version
-                                  (struct platform_device *pdev)
+static inline const struct samsung_aes_variant *find_s5p_sss_version
+                                  (const struct platform_device *pdev)
 {
        if (IS_ENABLED(CONFIG_OF) && (pdev->dev.of_node)) {
                const struct of_device_id *match;
 
                match = of_match_node(s5p_sss_dt_match,
                                        pdev->dev.of_node);
-               return (struct samsung_aes_variant *)match->data;
+               return (const struct samsung_aes_variant *)match->data;
        }
-       return (struct samsung_aes_variant *)
+       return (const struct samsung_aes_variant *)
                        platform_get_device_id(pdev)->driver_data;
 }
 
 static struct s5p_aes_dev *s5p_dev;
 
-static void s5p_set_dma_indata(struct s5p_aes_dev *dev, struct scatterlist *sg)
+static void s5p_set_dma_indata(struct s5p_aes_dev *dev,
+                              const struct scatterlist *sg)
 {
        SSS_WRITE(dev, FCBRDMAS, sg_dma_address(sg));
        SSS_WRITE(dev, FCBRDMAL, sg_dma_len(sg));
 }
 
-static void s5p_set_dma_outdata(struct s5p_aes_dev *dev, struct scatterlist *sg)
+static void s5p_set_dma_outdata(struct s5p_aes_dev *dev,
+                               const struct scatterlist *sg)
 {
        SSS_WRITE(dev, FCBTDMAS, sg_dma_address(sg));
        SSS_WRITE(dev, FCBTDMAL, sg_dma_len(sg));
  * @sg:                scatterlist ready to DMA transmit
  */
 static void s5p_set_dma_hashdata(struct s5p_aes_dev *dev,
-                                struct scatterlist *sg)
+                                const struct scatterlist *sg)
 {
        dev->hash_sg_cnt--;
        SSS_WRITE(dev, FCHRDMAS, sg_dma_address(sg));
  * @ctx:       request context
  */
 static void s5p_hash_write_ctx_iv(struct s5p_aes_dev *dd,
-                                 struct s5p_hash_reqctx *ctx)
+                                 const struct s5p_hash_reqctx *ctx)
 {
-       u32 *hash = (u32 *)ctx->digest;
+       const u32 *hash = (const u32 *)ctx->digest;
        unsigned int i;
 
        for (i = 0; i < ctx->nregs; i++)
  */
 static void s5p_hash_copy_result(struct ahash_request *req)
 {
-       struct s5p_hash_reqctx *ctx = ahash_request_ctx(req);
+       const struct s5p_hash_reqctx *ctx = ahash_request_ctx(req);
 
        if (!req->result)
                return;
  */
 static void s5p_hash_update_dma_stop(struct s5p_aes_dev *dd)
 {
-       struct s5p_hash_reqctx *ctx = ahash_request_ctx(dd->hash_req);
+       const struct s5p_hash_reqctx *ctx = ahash_request_ctx(dd->hash_req);
 
        dma_unmap_sg(dd->dev, ctx->sg, ctx->sg_len, DMA_TO_DEVICE);
        clear_bit(HASH_FLAGS_DMA_ACTIVE, &dd->hash_flags);
  */
 static int s5p_hash_export(struct ahash_request *req, void *out)
 {
-       struct s5p_hash_reqctx *ctx = ahash_request_ctx(req);
+       const struct s5p_hash_reqctx *ctx = ahash_request_ctx(req);
 
        memcpy(out, ctx, sizeof(*ctx) + ctx->bufcnt);
 
 };
 
 static void s5p_set_aes(struct s5p_aes_dev *dev,
-                       uint8_t *key, uint8_t *iv, unsigned int keylen)
+                       const uint8_t *key, const uint8_t *iv,
+                       unsigned int keylen)
 {
        void __iomem *keystart;
 
 {
        struct device *dev = &pdev->dev;
        int i, j, err = -ENODEV;
-       struct samsung_aes_variant *variant;
+       const struct samsung_aes_variant *variant;
        struct s5p_aes_dev *pdata;
        struct resource *res;
        unsigned int hash_i;