diff options
Diffstat (limited to 'drivers/mtd/nand/s3c2410.c')
-rw-r--r-- | drivers/mtd/nand/s3c2410.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c index 24f4199eaee8..97e9b7892d29 100644 --- a/drivers/mtd/nand/s3c2410.c +++ b/drivers/mtd/nand/s3c2410.c | |||
@@ -19,7 +19,7 @@ | |||
19 | * 08-Jul-2005 BJD Fix OOPS when no platform data supplied | 19 | * 08-Jul-2005 BJD Fix OOPS when no platform data supplied |
20 | * 20-Oct-2005 BJD Fix timing calculation bug | 20 | * 20-Oct-2005 BJD Fix timing calculation bug |
21 | * | 21 | * |
22 | * $Id: s3c2410.c,v 1.18 2005/10/20 21:22:55 bjd Exp $ | 22 | * $Id: s3c2410.c,v 1.20 2005/11/07 11:14:31 gleixner Exp $ |
23 | * | 23 | * |
24 | * This program is free software; you can redistribute it and/or modify | 24 | * This program is free software; you can redistribute it and/or modify |
25 | * it under the terms of the GNU General Public License as published by | 25 | * it under the terms of the GNU General Public License as published by |
@@ -164,7 +164,7 @@ static int s3c2410_nand_calc_rate(int wanted, unsigned long clk, int max) | |||
164 | 164 | ||
165 | /* controller setup */ | 165 | /* controller setup */ |
166 | 166 | ||
167 | static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, | 167 | static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, |
168 | struct device *dev) | 168 | struct device *dev) |
169 | { | 169 | { |
170 | struct s3c2410_platform_nand *plat = to_nand_plat(dev); | 170 | struct s3c2410_platform_nand *plat = to_nand_plat(dev); |
@@ -186,7 +186,7 @@ static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, | |||
186 | twrph0 = 8; | 186 | twrph0 = 8; |
187 | twrph1 = 8; | 187 | twrph1 = 8; |
188 | } | 188 | } |
189 | 189 | ||
190 | if (tacls < 0 || twrph0 < 0 || twrph1 < 0) { | 190 | if (tacls < 0 || twrph0 < 0 || twrph1 < 0) { |
191 | printk(KERN_ERR PFX "cannot get timings suitable for board\n"); | 191 | printk(KERN_ERR PFX "cannot get timings suitable for board\n"); |
192 | return -EINVAL; | 192 | return -EINVAL; |
@@ -194,7 +194,7 @@ static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, | |||
194 | 194 | ||
195 | printk(KERN_INFO PFX "Tacls=%d, %dns Twrph0=%d %dns, Twrph1=%d %dns\n", | 195 | printk(KERN_INFO PFX "Tacls=%d, %dns Twrph0=%d %dns, Twrph1=%d %dns\n", |
196 | tacls, to_ns(tacls, clkrate), | 196 | tacls, to_ns(tacls, clkrate), |
197 | twrph0, to_ns(twrph0, clkrate), | 197 | twrph0, to_ns(twrph0, clkrate), |
198 | twrph1, to_ns(twrph1, clkrate)); | 198 | twrph1, to_ns(twrph1, clkrate)); |
199 | 199 | ||
200 | if (!info->is_s3c2440) { | 200 | if (!info->is_s3c2440) { |
@@ -219,7 +219,7 @@ static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, | |||
219 | static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip) | 219 | static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip) |
220 | { | 220 | { |
221 | struct s3c2410_nand_info *info; | 221 | struct s3c2410_nand_info *info; |
222 | struct s3c2410_nand_mtd *nmtd; | 222 | struct s3c2410_nand_mtd *nmtd; |
223 | struct nand_chip *this = mtd->priv; | 223 | struct nand_chip *this = mtd->priv; |
224 | void __iomem *reg; | 224 | void __iomem *reg; |
225 | unsigned long cur; | 225 | unsigned long cur; |
@@ -252,7 +252,7 @@ static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip) | |||
252 | writel(cur, reg); | 252 | writel(cur, reg); |
253 | } | 253 | } |
254 | 254 | ||
255 | /* command and control functions | 255 | /* command and control functions |
256 | * | 256 | * |
257 | * Note, these all use tglx's method of changing the IO_ADDR_W field | 257 | * Note, these all use tglx's method of changing the IO_ADDR_W field |
258 | * to make the code simpler, and use the nand layer's code to issue the | 258 | * to make the code simpler, and use the nand layer's code to issue the |
@@ -324,7 +324,7 @@ static void s3c2440_nand_hwcontrol(struct mtd_info *mtd, int cmd) | |||
324 | static int s3c2410_nand_devready(struct mtd_info *mtd) | 324 | static int s3c2410_nand_devready(struct mtd_info *mtd) |
325 | { | 325 | { |
326 | struct s3c2410_nand_info *info = s3c2410_nand_mtd_toinfo(mtd); | 326 | struct s3c2410_nand_info *info = s3c2410_nand_mtd_toinfo(mtd); |
327 | 327 | ||
328 | if (info->is_s3c2440) | 328 | if (info->is_s3c2440) |
329 | return readb(info->regs + S3C2440_NFSTAT) & S3C2440_NFSTAT_READY; | 329 | return readb(info->regs + S3C2440_NFSTAT) & S3C2440_NFSTAT_READY; |
330 | return readb(info->regs + S3C2410_NFSTAT) & S3C2410_NFSTAT_BUSY; | 330 | return readb(info->regs + S3C2410_NFSTAT) & S3C2410_NFSTAT_BUSY; |
@@ -345,7 +345,7 @@ static int s3c2410_nand_correct_data(struct mtd_info *mtd, u_char *dat, | |||
345 | 345 | ||
346 | if (read_ecc[0] == calc_ecc[0] && | 346 | if (read_ecc[0] == calc_ecc[0] && |
347 | read_ecc[1] == calc_ecc[1] && | 347 | read_ecc[1] == calc_ecc[1] && |
348 | read_ecc[2] == calc_ecc[2]) | 348 | read_ecc[2] == calc_ecc[2]) |
349 | return 0; | 349 | return 0; |
350 | 350 | ||
351 | /* we curently have no method for correcting the error */ | 351 | /* we curently have no method for correcting the error */ |
@@ -436,14 +436,14 @@ static int s3c2410_nand_remove(struct device *dev) | |||
436 | 436 | ||
437 | dev_set_drvdata(dev, NULL); | 437 | dev_set_drvdata(dev, NULL); |
438 | 438 | ||
439 | if (info == NULL) | 439 | if (info == NULL) |
440 | return 0; | 440 | return 0; |
441 | 441 | ||
442 | /* first thing we need to do is release all our mtds | 442 | /* first thing we need to do is release all our mtds |
443 | * and their partitions, then go through freeing the | 443 | * and their partitions, then go through freeing the |
444 | * resources used | 444 | * resources used |
445 | */ | 445 | */ |
446 | 446 | ||
447 | if (info->mtds != NULL) { | 447 | if (info->mtds != NULL) { |
448 | struct s3c2410_nand_mtd *ptr = info->mtds; | 448 | struct s3c2410_nand_mtd *ptr = info->mtds; |
449 | int mtdno; | 449 | int mtdno; |
@@ -507,7 +507,7 @@ static int s3c2410_nand_add_partition(struct s3c2410_nand_info *info, | |||
507 | 507 | ||
508 | /* s3c2410_nand_init_chip | 508 | /* s3c2410_nand_init_chip |
509 | * | 509 | * |
510 | * init a single instance of an chip | 510 | * init a single instance of an chip |
511 | */ | 511 | */ |
512 | 512 | ||
513 | static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info, | 513 | static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info, |
@@ -625,7 +625,7 @@ static int s3c24xx_nand_probe(struct device *dev, int is_s3c2440) | |||
625 | dev_err(dev, "cannot reserve register region\n"); | 625 | dev_err(dev, "cannot reserve register region\n"); |
626 | err = -EIO; | 626 | err = -EIO; |
627 | goto exit_error; | 627 | goto exit_error; |
628 | } | 628 | } |
629 | 629 | ||
630 | dev_dbg(dev, "mapped registers at %p\n", info->regs); | 630 | dev_dbg(dev, "mapped registers at %p\n", info->regs); |
631 | 631 | ||
@@ -659,7 +659,7 @@ static int s3c24xx_nand_probe(struct device *dev, int is_s3c2440) | |||
659 | for (setno = 0; setno < nr_sets; setno++, nmtd++) { | 659 | for (setno = 0; setno < nr_sets; setno++, nmtd++) { |
660 | pr_debug("initialising set %d (%p, info %p)\n", | 660 | pr_debug("initialising set %d (%p, info %p)\n", |
661 | setno, nmtd, info); | 661 | setno, nmtd, info); |
662 | 662 | ||
663 | s3c2410_nand_init_chip(info, nmtd, sets); | 663 | s3c2410_nand_init_chip(info, nmtd, sets); |
664 | 664 | ||
665 | nmtd->scan_res = nand_scan(&nmtd->mtd, | 665 | nmtd->scan_res = nand_scan(&nmtd->mtd, |
@@ -672,7 +672,7 @@ static int s3c24xx_nand_probe(struct device *dev, int is_s3c2440) | |||
672 | if (sets != NULL) | 672 | if (sets != NULL) |
673 | sets++; | 673 | sets++; |
674 | } | 674 | } |
675 | 675 | ||
676 | pr_debug("initialised ok\n"); | 676 | pr_debug("initialised ok\n"); |
677 | return 0; | 677 | return 0; |
678 | 678 | ||