|
@@ -55,7 +55,6 @@
|
|
|
__raw_writel((val), (dev)->reg + REG_SMADDR)
|
|
|
|
|
|
struct nuc900_nand {
|
|
|
- struct mtd_info mtd;
|
|
|
struct nand_chip chip;
|
|
|
void __iomem *reg;
|
|
|
struct clk *clk;
|
|
@@ -64,7 +63,7 @@ struct nuc900_nand {
|
|
|
|
|
|
static inline struct nuc900_nand *mtd_to_nuc900(struct mtd_info *mtd)
|
|
|
{
|
|
|
- return container_of(mtd, struct nuc900_nand, mtd);
|
|
|
+ return container_of(mtd_to_nand(mtd), struct nuc900_nand, chip);
|
|
|
}
|
|
|
|
|
|
static const struct mtd_partition partitions[] = {
|
|
@@ -236,6 +235,7 @@ static int nuc900_nand_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct nuc900_nand *nuc900_nand;
|
|
|
struct nand_chip *chip;
|
|
|
+ struct mtd_info *mtd;
|
|
|
struct resource *res;
|
|
|
|
|
|
nuc900_nand = devm_kzalloc(&pdev->dev, sizeof(struct nuc900_nand),
|
|
@@ -243,9 +243,10 @@ static int nuc900_nand_probe(struct platform_device *pdev)
|
|
|
if (!nuc900_nand)
|
|
|
return -ENOMEM;
|
|
|
chip = &(nuc900_nand->chip);
|
|
|
+ mtd = nand_to_mtd(chip);
|
|
|
|
|
|
- nuc900_nand->mtd.priv = chip;
|
|
|
- nuc900_nand->mtd.dev.parent = &pdev->dev;
|
|
|
+ mtd->priv = chip;
|
|
|
+ mtd->dev.parent = &pdev->dev;
|
|
|
spin_lock_init(&nuc900_nand->lock);
|
|
|
|
|
|
nuc900_nand->clk = devm_clk_get(&pdev->dev, NULL);
|
|
@@ -269,11 +270,10 @@ static int nuc900_nand_probe(struct platform_device *pdev)
|
|
|
|
|
|
nuc900_nand_enable(nuc900_nand);
|
|
|
|
|
|
- if (nand_scan(&(nuc900_nand->mtd), 1))
|
|
|
+ if (nand_scan(mtd, 1))
|
|
|
return -ENXIO;
|
|
|
|
|
|
- mtd_device_register(&(nuc900_nand->mtd), partitions,
|
|
|
- ARRAY_SIZE(partitions));
|
|
|
+ mtd_device_register(mtd, partitions, ARRAY_SIZE(partitions));
|
|
|
|
|
|
platform_set_drvdata(pdev, nuc900_nand);
|
|
|
|
|
@@ -284,7 +284,7 @@ static int nuc900_nand_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
struct nuc900_nand *nuc900_nand = platform_get_drvdata(pdev);
|
|
|
|
|
|
- nand_release(&nuc900_nand->mtd);
|
|
|
+ nand_release(nand_to_mtd(&nuc900_nand->chip));
|
|
|
clk_disable(nuc900_nand->clk);
|
|
|
|
|
|
return 0;
|