]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
mtd: nand: fsmc: remove fsmc_select_chip()
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 21 Mar 2017 10:03:58 +0000 (11:03 +0100)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Thu, 23 Mar 2017 10:10:44 +0000 (11:10 +0100)
host->select_chip used to point to the ->select_bank() function provided
by the platform data, but the latter no longer exists. Therefore
host->select_chip is always NULL.

Due to this, the fsmc_select_chip() does nothing, except:

  chip->cmd_ctrl(mtd, NAND_CMD_NONE, 0 | NAND_CTRL_CHANGE);

when chipnr is -1, which is exactly what the default implementation of
->select_chip() does in the NAND framework. So, this commit kills
fsmc_select_chip() entirely.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/fsmc_nand.c

index 2f05c4cadfb82141e125288408f55a976a806a7e..aa3c16098b98cd47e39b1a4b257fd5b6a57e9492 100644 (file)
@@ -203,8 +203,6 @@ struct fsmc_nand_data {
        void __iomem            *cmd_va;
        void __iomem            *addr_va;
        void __iomem            *regs_va;
-
-       void                    (*select_chip)(uint32_t bank, uint32_t busw);
 };
 
 static int fsmc_ecc1_ooblayout_ecc(struct mtd_info *mtd, int section,
@@ -296,32 +294,6 @@ static inline struct fsmc_nand_data *mtd_to_fsmc(struct mtd_info *mtd)
        return container_of(mtd_to_nand(mtd), struct fsmc_nand_data, nand);
 }
 
-/* Assert CS signal based on chipnr */
-static void fsmc_select_chip(struct mtd_info *mtd, int chipnr)
-{
-       struct nand_chip *chip = mtd_to_nand(mtd);
-       struct fsmc_nand_data *host;
-
-       host = mtd_to_fsmc(mtd);
-
-       switch (chipnr) {
-       case -1:
-               chip->cmd_ctrl(mtd, NAND_CMD_NONE, 0 | NAND_CTRL_CHANGE);
-               break;
-       case 0:
-       case 1:
-       case 2:
-       case 3:
-               if (host->select_chip)
-                       host->select_chip(chipnr,
-                                       chip->options & NAND_BUSWIDTH_16);
-               break;
-
-       default:
-               dev_err(host->dev, "unsupported chip-select %d\n", chipnr);
-       }
-}
-
 /*
  * fsmc_cmd_ctrl - For facilitaing Hardware access
  * This routine allows hardware specific access to control-lines(ALE,CLE)
@@ -984,7 +956,6 @@ static int __init fsmc_nand_probe(struct platform_device *pdev)
        nand->ecc.hwctl = fsmc_enable_hwecc;
        nand->ecc.size = 512;
        nand->options = pdata->options;
-       nand->select_chip = fsmc_select_chip;
        nand->badblockbits = 7;
        nand_set_flash_node(nand, np);