Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4517
b: refs/heads/master
c: 5150228
h: refs/heads/master
i:
  4515: 8bebe57
v: v3
  • Loading branch information
Artem B. Bityuckiy authored and Thomas Gleixner committed May 23, 2005
1 parent 66e17c3 commit 07e9c11
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 30 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 167e1770e526c6c6cdff5014e32f5a3363c017f3
refs/heads/master: 515022870f0f648b9c506a285b1c7e92901dd37f
41 changes: 12 additions & 29 deletions trunk/drivers/mtd/nand/nandsim.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
*
* $Id: nandsim.c,v 1.7 2004/12/06 11:53:06 dedekind Exp $
* $Id: nandsim.c,v 1.8 2005/03/19 15:33:56 dedekind Exp $
*/

#include <linux/config.h>
Expand Down Expand Up @@ -1483,33 +1483,6 @@ ns_nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
}
}

/*
* Having only NAND chip IDs we call nand_scan which detects NAND flash
* parameters and then calls scan_bbt in order to scan/find/build the
* NAND flash bad block table. But since at that moment the NAND flash
* image isn't allocated in the simulator, errors arise. To avoid this
* we redefine the scan_bbt callback and initialize the nandsim structure
* before the flash media scanning.
*/
int ns_scan_bbt(struct mtd_info *mtd)
{
struct nand_chip *chip = (struct nand_chip *)mtd->priv;
struct nandsim *ns = (struct nandsim *)(chip->priv);
int retval;

if (!NS_IS_INITIALIZED(ns))
if ((retval = init_nandsim(mtd)) != 0) {
NS_ERR("scan_bbt: can't initialize the nandsim structure\n");
return retval;
}
if ((retval = nand_default_bbt(mtd)) != 0) {
free_nandsim(ns);
return retval;
}

return 0;
}

/*
* Module initialization function
*/
Expand Down Expand Up @@ -1544,14 +1517,14 @@ int __init ns_init_module(void)
chip->hwcontrol = ns_hwcontrol;
chip->read_byte = ns_nand_read_byte;
chip->dev_ready = ns_device_ready;
chip->scan_bbt = ns_scan_bbt;
chip->write_byte = ns_nand_write_byte;
chip->write_buf = ns_nand_write_buf;
chip->read_buf = ns_nand_read_buf;
chip->verify_buf = ns_nand_verify_buf;
chip->write_word = ns_nand_write_word;
chip->read_word = ns_nand_read_word;
chip->eccmode = NAND_ECC_SOFT;
chip->options |= NAND_SKIP_BBTSCAN;

/*
* Perform minimum nandsim structure initialization to handle
Expand Down Expand Up @@ -1580,6 +1553,16 @@ int __init ns_init_module(void)
goto error;
}

if ((retval = init_nandsim(nsmtd)) != 0) {
NS_ERR("scan_bbt: can't initialize the nandsim structure\n");
goto error;
}

if ((retval = nand_default_bbt(nsmtd)) != 0) {
free_nandsim(nand);
goto error;
}

/* Register NAND as one big partition */
add_mtd_partitions(nsmtd, &nand->part, 1);

Expand Down

0 comments on commit 07e9c11

Please sign in to comment.