diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2016-02-01 12:41:47 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2016-02-01 12:41:47 +0000 |
commit | 4156f292c157b8e118ac05ea4b8e861c58531eba (patch) | |
tree | 9932b5f57903a7ff36021e9f068e08dca1956625 /target/linux | |
parent | e1491b341b212000bc26f68b55d9a060b9c48625 (diff) | |
download | mtk-20170518-4156f292c157b8e118ac05ea4b8e861c58531eba.zip mtk-20170518-4156f292c157b8e118ac05ea4b8e861c58531eba.tar.gz mtk-20170518-4156f292c157b8e118ac05ea4b8e861c58531eba.tar.bz2 |
kernel: mtdsplit: detect UBI partition when looking for rootfs
This allows mtdsplit parsers work with UBI which is very popular on
NAND flases.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 48599
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c | 6 | ||||
-rw-r--r-- | target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c index 4f6b46e..9a330df 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c @@ -22,6 +22,8 @@ #include "mtdsplit.h" +#define UBI_EC_MAGIC 0x55424923 /* UBI# */ + struct squashfs_super_block { __le32 s_magic; __le32 pad0[9]; @@ -93,6 +95,10 @@ int mtd_check_rootfs_magic(struct mtd_info *mtd, size_t offset, if (type) *type = MTDSPLIT_PART_TYPE_JFFS2; return 0; + } else if (be32_to_cpu(magic) == UBI_EC_MAGIC) { + if (type) + *type = MTDSPLIT_PART_TYPE_UBI; + return 0; } return -EINVAL; diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h index b757758..42841ef 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h @@ -22,6 +22,7 @@ enum mtdsplit_part_type { MTDSPLIT_PART_TYPE_UNK = 0, MTDSPLIT_PART_TYPE_SQUASHFS, MTDSPLIT_PART_TYPE_JFFS2, + MTDSPLIT_PART_TYPE_UBI, }; #ifdef CONFIG_MTD_SPLIT |