Fix duplicated flash state
Subsystems (3)
PATCH 1/1 Fix duplicated flash state
Move to one place
I just compiled test. Please check other NAND users.
---
include/linux/mtd/mtd.h +14 -0
@@ -19,6 +19,20 @@#define MTD_ERASE_DONE 0x08#define MTD_ERASE_FAILED 0x10 +/* +* Enumeration for NAND/OneNAND flash chip state +*/ +enum { +FL_READY , +FL_READING , +FL_WRITING , +FL_ERASING , +FL_SYNCING , +FL_CACHEDPRG , +FL_UNLOCKING , +FL_LOCKING , +}; +/* If the erase fails, fail_addr might indicate exactly which block failed. If fail_addr = 0xffffffff, the failure was not at the device level or was not specific to any particular block. */
include/linux/mtd/nand.h +0 -14
@@ -195,20 +195,6 @@ extern int nand_read_raw (struct mtd_info *mtd, uint8_t *buf, loff_t from, size_/* Nand scan has allocated data_buf */ #define NAND_DATABUF_ALLOC 0x80000000 - -/* -* nand_state_t - chip states -* Enumeration for NAND flash chip state -*/ -typedef enum { -FL_READY , -FL_READING , -FL_WRITING , -FL_ERASING , -FL_SYNCING , -FL_CACHEDPRG , -}nand_state_t ; -/* Keep gcc happy */ struct nand_chip ;
include/linux/mtd/nand_legacy.h +0 -12
@@ -55,18 +55,6 @@#define NAND_CMD_RESET 0xff/* -* Enumeration for NAND flash chip state -*/ -typedef enum { -FL_READY , -FL_READING , -FL_WRITING , -FL_ERASING , -FL_SYNCING -}nand_state_t ; - - -/* * NAND Private Flash Chip Data * * Structure overview:
include/linux/mtd/onenand.h +2 -15
@@ -17,6 +17,7 @@/* Note: The header order is impoertant */ #include <onenand_uboot.h> +#include <linux/mtd/compat.h> #include <linux/mtd/bbm.h> #define MAX_BUFFERRAM 2
@@ -28,20 +29,6 @@ extern int onenand_scan (struct mtd_info *mtd, int max_chips);extern void onenand_release (struct mtd_info *mtd);/** -* onenand_state_t - chip states -* Enumeration for OneNAND flash chip state -*/ -typedef enum { -FL_READY , -FL_READING , -FL_WRITING , -FL_ERASING , -FL_SYNCING , -FL_UNLOCKING , -FL_LOCKING , -}onenand_state_t ; - -/** * struct onenand_bufferram - OneNAND BufferRAM Data * @param block block address in BufferRAM * @param page page address in BufferRAM
@@ -106,7 +93,7 @@ struct onenand_chip {spinlock_t chip_lock;wait_queue_head_t wq; -onenand_state_t state; +int state;struct nand_oobinfo *autooob;
[U-Boot-Users] unassigned-patches/4: [PATCH] Fix duplicated flash state
Move to one place
I just compiled test. Please check other NAND users.
---
Added to GNATS database as unassigned-patches/4
Quoted 5 lines
Responsible: patch-coord Message-Id: <20080722080919.GA14956@july>In-Reply-To:
References:
Patch-Date: Tue Jul 22 10:09:19 +0200 2008
---
include/linux/mtd/mtd.h +14 -0
@@ -19,6 +19,20 @@#define MTD_ERASE_DONE 0x08#define MTD_ERASE_FAILED 0x10 +/* +* Enumeration for NAND/OneNAND flash chip state +*/ +enum { +FL_READY , +FL_READING , +FL_WRITING , +FL_ERASING , +FL_SYNCING , +FL_CACHEDPRG , +FL_UNLOCKING , +FL_LOCKING , +}; +/* If the erase fails, fail_addr might indicate exactly which block failed. If fail_addr = 0xffffffff, the failure was not at the device level or was not specific to any particular block. */
include/linux/mtd/nand.h +0 -14
@@ -195,20 +195,6 @@ extern int nand_read_raw (struct mtd_info *mtd, uint8_t *buf, loff_t from, size_/* Nand scan has allocated data_buf */ #define NAND_DATABUF_ALLOC 0x80000000 - -/* -* nand_state_t - chip states -* Enumeration for NAND flash chip state -*/ -typedef enum { -FL_READY , -FL_READING , -FL_WRITING , -FL_ERASING , -FL_SYNCING , -FL_CACHEDPRG , -}nand_state_t ; -/* Keep gcc happy */ struct nand_chip ;
include/linux/mtd/nand_legacy.h +0 -12
@@ -55,18 +55,6 @@#define NAND_CMD_RESET 0xff/* -* Enumeration for NAND flash chip state -*/ -typedef enum { -FL_READY , -FL_READING , -FL_WRITING , -FL_ERASING , -FL_SYNCING -}nand_state_t ; - - -/* * NAND Private Flash Chip Data * * Structure overview:
include/linux/mtd/onenand.h +2 -15
@@ -17,6 +17,7 @@/* Note: The header order is impoertant */ #include <onenand_uboot.h> +#include <linux/mtd/compat.h> #include <linux/mtd/bbm.h> #define MAX_BUFFERRAM 2
@@ -28,20 +29,6 @@ extern int onenand_scan (struct mtd_info *mtd, int max_chips);extern void onenand_release (struct mtd_info *mtd);/** -* onenand_state_t - chip states -* Enumeration for OneNAND flash chip state -*/ -typedef enum { -FL_READY , -FL_READING , -FL_WRITING , -FL_ERASING , -FL_SYNCING , -FL_UNLOCKING , -FL_LOCKING , -}onenand_state_t ; - -/** * struct onenand_bufferram - OneNAND BufferRAM Data * @param block block address in BufferRAM * @param page page address in BufferRAM
@@ -106,7 +93,7 @@ struct onenand_chip {spinlock_t chip_lock;wait_queue_head_t wq; -onenand_state_t state; +int state;struct nand_oobinfo *autooob;
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] unassigned-patches/4: [PATCH] Fix duplicated flash state
include/linux/mtd/onenand.h line 20
Quoted 9 lines · u-boot at bugs.denx.de
include/linux/mtd/onenand.h +1
-0@@ -17,6 +17,7 @@/* Note: The header order is impoertant */ #include <onenand_uboot.h> +#include <linux/mtd/compat.h>
Shouldn't this be <linux/mtd/mtd.h>?
Also, as this is not a regression fix (if it is, please say so explicitly), please post a patch against the testing branch of u-boot-nand-flash. For all NAND patches, please CC me, and include NAND in the subject.
-Scott
PATCH 1/1 Fix duplicated flash state
In reply to Kyungmin ParkQuoted 4 lines · Kyungmin Park
Move to one place
I just compiled test. Please check other NAND users.
It fails to build, redefinition of id:jffs2_1pass.c: In function 'put_fl_mem':
jffs2_1pass.c:466: error: redefinition of 'id' jffs2_1pass.c:459: error: previous definition of 'id' was here
Relevant piece of code:
static inline void put_fl_mem(void *buf)
{
#if defined(CONFIG_JFFS2_NAND) && \
defined(CONFIG_CMD_NAND)
struct mtdids *id = current_part->dev->id;
if (id->type == MTD_DEV_TYPE_NAND)
return put_fl_mem_nand(buf);#endif
#if defined(CONFIG_CMD_ONENAND)
struct mtdids *id = current_part->dev->id;
if (id->type == MTD_DEV_TYPE_ONENAND)
return put_fl_mem_onenand(buf);#endif
}
cheers,
Fathi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20080724/ab442428/attachment.htm
PATCH 1/1 Fix duplicated flash state
Quoted 24 lines · Fathi Boudra
Quoted 4 lines · Kyungmin Park
Move to one place
I just compiled test. Please check other NAND users.It fails to build, redefinition of id:
jffs2_1pass.c: In function 'put_fl_mem':
jffs2_1pass.c:466: error: redefinition of 'id' jffs2_1pass.c:459: error: previous definition of 'id' was hereRelevant piece of code:
static inline void
put_fl_mem(void *buf)
{#if defined(CONFIG_JFFS2_NAND) && \ defined(CONFIG_CMD_NAND) struct mtdids *id = current_part->dev->id; if (id->type == MTD_DEV_TYPE_NAND) return put_fl_mem_nand(buf);#endif
Quoted 8 lines
#if defined(CONFIG_CMD_ONENAND) struct mtdids *id = current_part->dev->id; if (id->type == MTD_DEV_TYPE_ONENAND) return put_fl_mem_onenand(buf);#endif
}
It's not this patch contents.
I'ts related with the previous patch "JFFS2 support on OneNAND" Anyway, it should be below.
static inline void put_fl_mem(void *buf)
{
-#if defined(CONFIG_JFFS2_NAND) && \
- defined(CONFIG_CMD_NAND)
+#if (defined(CONFIG_JFFS2_NAND) && defined(CONFIG_CMD_NAND)) || \
+ defined(CONFIG_CMD_ONENAND)
struct mtdids *id = current_part->dev->id;
+#endif
+#if defined(CONFIG_JFFS2_NAND) && \
+ defined(CONFIG_CMD_NAND)
if (id->type == MTD_DEV_TYPE_NAND)
return put_fl_mem_nand(buf); #endif
+
+#if defined(CONFIG_CMD_ONENAND)
+ if (id->type == MTD_DEV_TYPE_ONENAND)
+ return put_fl_mem_onenand(buf);
+#endif
Next time it will be clean-uped with next patches.
Thank you,
Kyungmin Park
PATCH 1/1 Fix duplicated flash state
Quoted 3 lines
It's not this patch contents.
I'ts related with the previous patch "JFFS2 support on OneNAND"
Quoted 22 lines
Anyway, it should be below.
static inline void
put_fl_mem(void *buf)
{(quoted diff) +10
-2-#if defined(CONFIG_JFFS2_NAND) && \ - defined(CONFIG_CMD_NAND) +#if (defined(CONFIG_JFFS2_NAND) && defined(CONFIG_CMD_NAND)) || \ + defined(CONFIG_CMD_ONENAND) struct mtdids *id = current_part->dev->id; +#endif +#if defined(CONFIG_JFFS2_NAND) && \ + defined(CONFIG_CMD_NAND) if (id->type == MTD_DEV_TYPE_NAND) return put_fl_mem_nand(buf); #endif + +#if defined(CONFIG_CMD_ONENAND) + if (id->type == MTD_DEV_TYPE_ONENAND) + return put_fl_mem_onenand(buf); +#endif
Quoted 2 lines
Next time it will be clean-uped with next patches.
nand_bbt_descr is duplicated:
In file included from /u-boot-1.3.3/include/linux/mtd/onenand.h:21,
from jffs2_1pass.c:279:
/u-boot-1.3.3/include/linux/mtd/bbm.h:49: error: redefinition of 'struct nand_bbt_descr'
make[1]: *** [jffs2_1pass.o] Error 1
It is defined in iinclude/linux/mtd/bbm.h
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20080725/ebc3d331/attachment.htm
PATCH 1/1 Fix duplicated flash state
sorry, mail sent too fast...
nand_bbt_desc structure is defined in include/linux/mtd/bbm.h and iinclude/linux/mtd/nand.h
cheers,
Fathi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20080725/177d8738/attachment.htm
PATCH 1/1 Fix duplicated flash state
Please stop to post in HTML.
Please post in text
Best Regards,
J.