X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=mtdemul%2Fnandemul2k.c;h=f3c1c9a853c2377f4e5476d4c493ed4fe0cc1e40;hp=7ee030836b08d4910ab39067231e4acb98a0b823;hb=14609dd277d69fdcddfb68bf465d06bb1cda82c7;hpb=f63988705f6f79c3e721dcdc76b0ab1ea93ab110;ds=sidebyside diff --git a/mtdemul/nandemul2k.c b/mtdemul/nandemul2k.c index 7ee0308..f3c1c9a 100644 --- a/mtdemul/nandemul2k.c +++ b/mtdemul/nandemul2k.c @@ -286,11 +286,16 @@ static int nand_write (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf); static int nand_write_ecc (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf, - const u_char *oob_buf, struct nand_oobinfo *dummy); + u_char *oob_buf, struct nand_oobinfo *dummy); static int nand_write_oob (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf); +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,7)) +static int nand_writev (struct mtd_info *mtd, const struct kvec *vecs, + unsigned long count, loff_t to, size_t *retlen); +#else static int nand_writev (struct mtd_info *mtd, const struct iovec *vecs, unsigned long count, loff_t to, size_t *retlen); +#endif static int nand_erase (struct mtd_info *mtd, struct erase_info *instr); static void nand_sync (struct mtd_info *mtd); @@ -413,7 +418,7 @@ static int nand_write (struct mtd_info *mtd, loff_t to, size_t len, */ static int nand_write_ecc (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf, - const u_char *oob_buf, struct nand_oobinfo *dummy) + u_char *oob_buf, struct nand_oobinfo *dummy) { int start, page; @@ -509,8 +514,13 @@ static int nand_write_oob (struct mtd_info *mtd, loff_t to, size_t len, /* * NAND write with iovec */ +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,7)) +static int nand_writev (struct mtd_info *mtd, const struct kvec *vecs, + unsigned long count, loff_t to, size_t *retlen) +#else static int nand_writev (struct mtd_info *mtd, const struct iovec *vecs, unsigned long count, loff_t to, size_t *retlen) +#endif { return -EINVAL; } @@ -564,12 +574,12 @@ static int nand_erase (struct mtd_info *mtd, struct erase_info *instr) } -int nand_block_isbad(struct mtd_info *mtd,int blockNo) +static int nand_block_isbad(struct mtd_info *mtd, loff_t ofs) { return 0; } -int nand_block_markbad(struct mtd_info *mtd, int blockNo) +static int nand_block_markbad(struct mtd_info *mtd, loff_t ofs) { return 0; } @@ -587,7 +597,7 @@ static void nand_sync (struct mtd_info *mtd) /* * Scan for the NAND device */ -int nand_scan (struct mtd_info *mtd,int nchips) +static int nandemul2k_scan (struct mtd_info *mtd,int nchips) { mtd->oobblock = PAGE_DATA_SIZE; mtd->oobsize = PAGE_SPARE_SIZE; @@ -620,6 +630,8 @@ int nand_scan (struct mtd_info *mtd,int nchips) mtd->suspend = NULL; mtd->resume = NULL; + mtd->name = "NANDemul2k"; + /* Return happy */ return 0; } @@ -655,7 +667,7 @@ int __init nandemul2k_init (void) CheckInit(); - nand_scan(&nandemul2k_mtd,1); + nandemul2k_scan(&nandemul2k_mtd,1); // Build the partition table