spinlock_t lock;
 };
 
+static inline struct nuc900_nand *mtd_to_nuc900(struct mtd_info *mtd)
+{
+       return container_of(mtd, struct nuc900_nand, mtd);
+}
+
 static const struct mtd_partition partitions[] = {
        {
         .name = "NAND FS 0",
 static unsigned char nuc900_nand_read_byte(struct mtd_info *mtd)
 {
        unsigned char ret;
-       struct nuc900_nand *nand;
-
-       nand = container_of(mtd, struct nuc900_nand, mtd);
+       struct nuc900_nand *nand = mtd_to_nuc900(mtd);
 
        ret = (unsigned char)read_data_reg(nand);
 
                                 unsigned char *buf, int len)
 {
        int i;
-       struct nuc900_nand *nand;
-
-       nand = container_of(mtd, struct nuc900_nand, mtd);
+       struct nuc900_nand *nand = mtd_to_nuc900(mtd);
 
        for (i = 0; i < len; i++)
                buf[i] = (unsigned char)read_data_reg(nand);
                                  const unsigned char *buf, int len)
 {
        int i;
-       struct nuc900_nand *nand;
-
-       nand = container_of(mtd, struct nuc900_nand, mtd);
+       struct nuc900_nand *nand = mtd_to_nuc900(mtd);
 
        for (i = 0; i < len; i++)
                write_data_reg(nand, buf[i]);
 
 static int nuc900_nand_devready(struct mtd_info *mtd)
 {
-       struct nuc900_nand *nand;
+       struct nuc900_nand *nand = mtd_to_nuc900(mtd);
        int ready;
 
-       nand = container_of(mtd, struct nuc900_nand, mtd);
-
        ready = (nuc900_check_rb(nand)) ? 1 : 0;
        return ready;
 }
                                   int column, int page_addr)
 {
        register struct nand_chip *chip = mtd_to_nand(mtd);
-       struct nuc900_nand *nand;
-
-       nand = container_of(mtd, struct nuc900_nand, mtd);
+       struct nuc900_nand *nand = mtd_to_nuc900(mtd);
 
        if (command == NAND_CMD_READOOB) {
                column += mtd->writesize;