aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/chips/cfi_cmdset_0001.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/chips/cfi_cmdset_0001.c')
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0001.c40
1 files changed, 15 insertions, 25 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 77514430f1fe..e4ec355704a6 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -21,7 +21,6 @@
21#include <linux/types.h> 21#include <linux/types.h>
22#include <linux/kernel.h> 22#include <linux/kernel.h>
23#include <linux/sched.h> 23#include <linux/sched.h>
24#include <linux/init.h>
25#include <asm/io.h> 24#include <asm/io.h>
26#include <asm/byteorder.h> 25#include <asm/byteorder.h>
27 26
@@ -69,10 +68,10 @@ static int cfi_intelext_read_fact_prot_reg (struct mtd_info *, loff_t, size_t, s
69static int cfi_intelext_read_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *); 68static int cfi_intelext_read_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
70static int cfi_intelext_write_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *); 69static int cfi_intelext_write_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
71static int cfi_intelext_lock_user_prot_reg (struct mtd_info *, loff_t, size_t); 70static int cfi_intelext_lock_user_prot_reg (struct mtd_info *, loff_t, size_t);
72static int cfi_intelext_get_fact_prot_info (struct mtd_info *, 71static int cfi_intelext_get_fact_prot_info(struct mtd_info *, size_t,
73 struct otp_info *, size_t); 72 size_t *, struct otp_info *);
74static int cfi_intelext_get_user_prot_info (struct mtd_info *, 73static int cfi_intelext_get_user_prot_info(struct mtd_info *, size_t,
75 struct otp_info *, size_t); 74 size_t *, struct otp_info *);
76#endif 75#endif
77static int cfi_intelext_suspend (struct mtd_info *); 76static int cfi_intelext_suspend (struct mtd_info *);
78static void cfi_intelext_resume (struct mtd_info *); 77static void cfi_intelext_resume (struct mtd_info *);
@@ -435,10 +434,8 @@ struct mtd_info *cfi_cmdset_0001(struct map_info *map, int primary)
435 int i; 434 int i;
436 435
437 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); 436 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL);
438 if (!mtd) { 437 if (!mtd)
439 printk(KERN_ERR "Failed to allocate memory for MTD device\n");
440 return NULL; 438 return NULL;
441 }
442 mtd->priv = map; 439 mtd->priv = map;
443 mtd->type = MTD_NORFLASH; 440 mtd->type = MTD_NORFLASH;
444 441
@@ -564,10 +561,8 @@ static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd)
564 mtd->numeraseregions = cfi->cfiq->NumEraseRegions * cfi->numchips; 561 mtd->numeraseregions = cfi->cfiq->NumEraseRegions * cfi->numchips;
565 mtd->eraseregions = kmalloc(sizeof(struct mtd_erase_region_info) 562 mtd->eraseregions = kmalloc(sizeof(struct mtd_erase_region_info)
566 * mtd->numeraseregions, GFP_KERNEL); 563 * mtd->numeraseregions, GFP_KERNEL);
567 if (!mtd->eraseregions) { 564 if (!mtd->eraseregions)
568 printk(KERN_ERR "Failed to allocate memory for MTD erase region info\n");
569 goto setup_err; 565 goto setup_err;
570 }
571 566
572 for (i=0; i<cfi->cfiq->NumEraseRegions; i++) { 567 for (i=0; i<cfi->cfiq->NumEraseRegions; i++) {
573 unsigned long ernum, ersize; 568 unsigned long ernum, ersize;
@@ -2399,24 +2394,19 @@ static int cfi_intelext_lock_user_prot_reg(struct mtd_info *mtd,
2399 NULL, do_otp_lock, 1); 2394 NULL, do_otp_lock, 1);
2400} 2395}
2401 2396
2402static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd, 2397static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd, size_t len,
2403 struct otp_info *buf, size_t len) 2398 size_t *retlen, struct otp_info *buf)
2404{
2405 size_t retlen;
2406 int ret;
2407 2399
2408 ret = cfi_intelext_otp_walk(mtd, 0, len, &retlen, (u_char *)buf, NULL, 0); 2400{
2409 return ret ? : retlen; 2401 return cfi_intelext_otp_walk(mtd, 0, len, retlen, (u_char *)buf,
2402 NULL, 0);
2410} 2403}
2411 2404
2412static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd, 2405static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd, size_t len,
2413 struct otp_info *buf, size_t len) 2406 size_t *retlen, struct otp_info *buf)
2414{ 2407{
2415 size_t retlen; 2408 return cfi_intelext_otp_walk(mtd, 0, len, retlen, (u_char *)buf,
2416 int ret; 2409 NULL, 1);
2417
2418 ret = cfi_intelext_otp_walk(mtd, 0, len, &retlen, (u_char *)buf, NULL, 1);
2419 return ret ? : retlen;
2420} 2410}
2421 2411
2422#endif 2412#endif