aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/s3c2410.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/nand/s3c2410.c')
-rw-r--r--drivers/mtd/nand/s3c2410.c30
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
167static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, 167static 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,
219static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip) 219static 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)
324static int s3c2410_nand_devready(struct mtd_info *mtd) 324static 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
513static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info, 513static 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