mtd: nand: pxa3xx_nand: use nand_to_mtd()
authorOfer Heifetz <oferh@marvell.com>
Wed, 29 Aug 2018 08:56:01 +0000 (11:56 +0300)
committerStefan Roese <sr@denx.de>
Wed, 19 Sep 2018 07:00:39 +0000 (09:00 +0200)
Don't store struct mtd_info in struct pxa3xx_nand_host. Instead use the
one that is already part of struct nand_chip. This brings us in line
with current U-boot and Linux conventions.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Ofer Heifetz <oferh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Stefan Roese <sr@denx.de>
drivers/mtd/nand/pxa3xx_nand.c

index ead5624..6295886 100644 (file)
@@ -149,7 +149,6 @@ enum pxa3xx_nand_variant {
 
 struct pxa3xx_nand_host {
        struct nand_chip        chip;
-       struct mtd_info         *mtd;
        void                    *info_data;
 
        /* page size of attached chip */
@@ -384,16 +383,17 @@ static int pxa3xx_nand_init_timings(struct pxa3xx_nand_host *host)
        struct nand_chip *chip = &host->chip;
        struct pxa3xx_nand_info *info = host->info_data;
        const struct pxa3xx_nand_flash *f = NULL;
+       struct mtd_info *mtd = nand_to_mtd(&host->chip);
        int mode, id, ntypes, i;
 
        mode = onfi_get_async_timing_mode(chip);
        if (mode == ONFI_TIMING_MODE_UNKNOWN) {
                ntypes = ARRAY_SIZE(builtin_flash_types);
 
-               chip->cmdfunc(host->mtd, NAND_CMD_READID, 0x00, -1);
+               chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1);
 
-               id = chip->read_byte(host->mtd);
-               id |= chip->read_byte(host->mtd) << 0x8;
+               id = chip->read_byte(mtd);
+               id |= chip->read_byte(mtd) << 0x8;
 
                for (i = 0; i < ntypes; i++) {
                        f = &builtin_flash_types[i];
@@ -686,7 +686,7 @@ static void set_command_address(struct pxa3xx_nand_info *info,
 static void prepare_start_command(struct pxa3xx_nand_info *info, int command)
 {
        struct pxa3xx_nand_host *host = info->host[info->cs];
-       struct mtd_info *mtd = host->mtd;
+       struct mtd_info *mtd = nand_to_mtd(&host->chip);
 
        /* reset data and oob column point to handle data */
        info->buf_start         = 0;
@@ -737,7 +737,7 @@ static int prepare_set_command(struct pxa3xx_nand_info *info, int command,
        struct mtd_info *mtd;
 
        host = info->host[info->cs];
-       mtd = host->mtd;
+       mtd = nand_to_mtd(&host->chip);
        addr_cycle = 0;
        exec_cmd = 1;
 
@@ -1224,7 +1224,7 @@ static int pxa3xx_nand_waitfunc(struct mtd_info *mtd, struct nand_chip *this)
 static int pxa3xx_nand_config_flash(struct pxa3xx_nand_info *info)
 {
        struct pxa3xx_nand_host *host = info->host[info->cs];
-       struct mtd_info *mtd = host->mtd;
+       struct mtd_info *mtd = nand_to_mtd(&host->chip);
        struct nand_chip *chip = mtd_to_nand(mtd);
 
        info->reg_ndcr |= (host->col_addr_cycles == 2) ? NDCR_RA_START : 0;
@@ -1276,7 +1276,7 @@ static int pxa3xx_nand_sensing(struct pxa3xx_nand_host *host)
        const struct nand_sdr_timings *timings;
        int ret;
 
-       mtd = info->host[info->cs]->mtd;
+       mtd = nand_to_mtd(&info->host[info->cs]->chip);
        chip = mtd_to_nand(mtd);
 
        /* configure default flash values */
@@ -1497,7 +1497,6 @@ static int alloc_nand_resource(struct pxa3xx_nand_info *info)
                mtd = nand_to_mtd(chip);
                host = (struct pxa3xx_nand_host *)chip;
                info->host[cs] = host;
-               host->mtd = mtd;
                host->cs = cs;
                host->info_data = info;
                host->read_id_bytes = 4;
@@ -1615,7 +1614,7 @@ static int pxa3xx_nand_probe(struct pxa3xx_nand_info *info)
 
        probe_success = 0;
        for (cs = 0; cs < pdata->num_cs; cs++) {
-               struct mtd_info *mtd = info->host[cs]->mtd;
+               struct mtd_info *mtd = nand_to_mtd(&info->host[cs]->chip);
 
                /*
                 * The mtd name matches the one used in 'mtdparts' kernel