diff options
Diffstat (limited to 'drivers/mtd/chips/cfi_cmdset_0001.c')
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0001.c | 40 |
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 | |||
69 | static int cfi_intelext_read_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *); | 68 | static int cfi_intelext_read_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *); |
70 | static int cfi_intelext_write_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *); | 69 | static int cfi_intelext_write_user_prot_reg (struct mtd_info *, loff_t, size_t, size_t *, u_char *); |
71 | static int cfi_intelext_lock_user_prot_reg (struct mtd_info *, loff_t, size_t); | 70 | static int cfi_intelext_lock_user_prot_reg (struct mtd_info *, loff_t, size_t); |
72 | static int cfi_intelext_get_fact_prot_info (struct mtd_info *, | 71 | static int cfi_intelext_get_fact_prot_info(struct mtd_info *, size_t, |
73 | struct otp_info *, size_t); | 72 | size_t *, struct otp_info *); |
74 | static int cfi_intelext_get_user_prot_info (struct mtd_info *, | 73 | static 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 |
77 | static int cfi_intelext_suspend (struct mtd_info *); | 76 | static int cfi_intelext_suspend (struct mtd_info *); |
78 | static void cfi_intelext_resume (struct mtd_info *); | 77 | static 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 | ||
2402 | static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd, | 2397 | static 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 | ||
2412 | static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd, | 2405 | static 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 |