Commit a04271a7 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Boris Brezillon

mtd: nand: fsmc: remove fsmc_select_chip()

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: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent 6324fb93
...@@ -203,8 +203,6 @@ struct fsmc_nand_data { ...@@ -203,8 +203,6 @@ struct fsmc_nand_data {
void __iomem *cmd_va; void __iomem *cmd_va;
void __iomem *addr_va; void __iomem *addr_va;
void __iomem *regs_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, 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) ...@@ -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); 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 * fsmc_cmd_ctrl - For facilitaing Hardware access
* This routine allows hardware specific access to control-lines(ALE,CLE) * 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) ...@@ -984,7 +956,6 @@ static int __init fsmc_nand_probe(struct platform_device *pdev)
nand->ecc.hwctl = fsmc_enable_hwecc; nand->ecc.hwctl = fsmc_enable_hwecc;
nand->ecc.size = 512; nand->ecc.size = 512;
nand->options = pdata->options; nand->options = pdata->options;
nand->select_chip = fsmc_select_chip;
nand->badblockbits = 7; nand->badblockbits = 7;
nand_set_flash_node(nand, np); nand_set_flash_node(nand, np);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment