int                             keylen;
 };
 
+/**
+ * struct s5p_aes_dev - Crypto device state container
+ * @dev:       Associated device
+ * @clk:       Clock for accessing hardware
+ * @ioaddr:    Mapped IO memory region
+ * @aes_ioaddr:        Per-varian offset for AES block IO memory
+ * @irq_fc:    Feed control interrupt line
+ * @req:       Crypto request currently handled by the device
+ * @ctx:       Configuration for currently handled crypto request
+ * @sg_src:    Scatter list with source data for currently handled block
+ *             in device.  This is DMA-mapped into device.
+ * @sg_dst:    Scatter list with destination data for currently handled block
+ *             in device. This is DMA-mapped into device.
+ * @sg_src_cpy:        In case of unaligned access, copied scatter list
+ *             with source data.
+ * @sg_dst_cpy:        In case of unaligned access, copied scatter list
+ *             with destination data.
+ * @tasklet:   New request scheduling jib
+ * @queue:     Crypto queue
+ * @busy:      Indicates whether the device is currently handling some request
+ *             thus it uses some of the fields from this state, like:
+ *             req, ctx, sg_src/dst (and copies).  This essentially
+ *             protects against concurrent access to these fields.
+ * @lock:      Lock for protecting both access to device hardware registers
+ *             and fields related to current request (including the busy field).
+ */
 struct s5p_aes_dev {
        struct device                   *dev;
        struct clk                      *clk;
        struct scatterlist              *sg_src;
        struct scatterlist              *sg_dst;
 
-       /* In case of unaligned access: */
        struct scatterlist              *sg_src_cpy;
        struct scatterlist              *sg_dst_cpy;