struct list_head        node;
 
        struct nand_chip        chip;
-       struct mtd_info         mtd;
        struct platform_device  *pdev;
        int                     cs;
 
                                 enum brcmnand_llop_type type, u32 data,
                                 bool last_op)
 {
-       struct mtd_info *mtd = &host->mtd;
+       struct mtd_info *mtd = nand_to_mtd(&host->chip);
        struct nand_chip *chip = &host->chip;
        struct brcmnand_controller *ctrl = host->ctrl;
        u32 tmp;
 
 static int brcmnand_setup_dev(struct brcmnand_host *host)
 {
-       struct mtd_info *mtd = &host->mtd;
+       struct mtd_info *mtd = nand_to_mtd(&host->chip);
        struct nand_chip *chip = &host->chip;
        struct brcmnand_controller *ctrl = host->ctrl;
        struct brcmnand_cfg *cfg = &host->hwcfg;
                return -ENXIO;
        }
 
-       mtd = &host->mtd;
+       mtd = nand_to_mtd(&host->chip);
        chip = &host->chip;
 
        nand_set_flash_node(chip, dn);
        }
 
        list_for_each_entry(host, &ctrl->host_list, node) {
-               struct mtd_info *mtd = &host->mtd;
-               struct nand_chip *chip = mtd_to_nand(mtd);
+               struct nand_chip *chip = &host->chip;
+               struct mtd_info *mtd = nand_to_mtd(chip);
 
                brcmnand_save_restore_cs_config(host, 1);
 
        struct brcmnand_host *host;
 
        list_for_each_entry(host, &ctrl->host_list, node)
-               nand_release(&host->mtd);
+               nand_release(nand_to_mtd(&host->chip));
 
        clk_disable_unprepare(ctrl->clk);