[PATCH] MTD: Fix MEMGETINFO and MEMGETREGIONINFO for devices >= 4GB

Felix Radensky felix at embedded-sol.com
Wed Oct 7 04:26:42 EDT 2009


Currently MEMGETINFO and MEMGETREGIONINFO report invalid
information for devices >= 4GB, since relevant fields in
MTD ABI structures are 32-bit while corresponding fields
in kernel internal structures are 64-bit. Fix ABI fields
to be 64-bit as well.

Signed-off-by: Felix Radensky <felix at embedded-sol.com>
---
 include/mtd/mtd-abi.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
index be51ae2..c66044d 100644
--- a/include/mtd/mtd-abi.h
+++ b/include/mtd/mtd-abi.h
@@ -64,7 +64,7 @@ struct mtd_oob_buf64 {
 struct mtd_info_user {
 	__u8 type;
 	__u32 flags;
-	__u32 size;	 // Total size of the MTD
+	__u64 size;	 // Total size of the MTD
 	__u32 erasesize;
 	__u32 writesize;
 	__u32 oobsize;   // Amount of OOB data per block (e.g. 16)
@@ -75,7 +75,7 @@ struct mtd_info_user {
 };
 
 struct region_info_user {
-	__u32 offset;		/* At which this region starts,
+	__u64 offset;		/* At which this region starts,
 					 * from the beginning of the MTD */
 	__u32 erasesize;		/* For this region */
 	__u32 numblocks;		/* Number of blocks in this region */
-- 
1.5.4.3




More information about the linux-mtd mailing list