kernel: warn users to use the new (dedicated) firmware splitter

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43700 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Rafał Miłecki 2014-12-14 00:35:03 +00:00
parent b352f23881
commit 1796af0a7e
4 changed files with 16 additions and 6 deletions

View File

@ -14,7 +14,7 @@
config MTD_SPLIT config MTD_SPLIT
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -668,6 +668,32 @@ mtd_pad_erasesize(struct mtd_info *mtd, @@ -668,6 +668,37 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len; return len;
} }
@ -40,6 +40,11 @@
+ if (len + master->erasesize > part->mtd.size) + if (len + master->erasesize > part->mtd.size)
+ return; + return;
+ +
+ if (config_enabled(CONFIG_MTD_SPLIT_UIMAGE_FW))
+ pr_err("Dedicated partitioner didn't split firmware partition, please fill a bug report!\n");
+ else
+ pr_warn("Support for built-in firmware splitter will be removed, please use CONFIG_MTD_SPLIT_UIMAGE_FW\n");
+
+ __mtd_add_partition(master, "rootfs", part->offset + len, + __mtd_add_partition(master, "rootfs", part->offset + len,
+ part->mtd.size - len, false); + part->mtd.size - len, false);
+} +}
@ -47,7 +52,7 @@
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else #else
@@ -676,7 +702,14 @@ mtd_pad_erasesize(struct mtd_info *mtd, @@ -676,7 +707,14 @@ mtd_pad_erasesize(struct mtd_info *mtd,
static void split_firmware(struct mtd_info *master, struct mtd_part *part) static void split_firmware(struct mtd_info *master, struct mtd_part *part)
{ {

View File

@ -62,7 +62,7 @@
#define UBOOT_MAGIC 0x27051956 #define UBOOT_MAGIC 0x27051956
static void split_uimage(struct mtd_info *master, struct mtd_part *part) static void split_uimage(struct mtd_info *master, struct mtd_part *part)
@@ -725,7 +766,10 @@ static void mtd_partition_split(struct m @@ -730,7 +771,10 @@ static void mtd_partition_split(struct m
return; return;
if (!strcmp(part->mtd.name, "rootfs")) { if (!strcmp(part->mtd.name, "rootfs")) {

View File

@ -14,7 +14,7 @@
config MTD_SPLIT config MTD_SPLIT
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -681,6 +681,32 @@ mtd_pad_erasesize(struct mtd_info *mtd, @@ -681,6 +681,37 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len; return len;
} }
@ -40,6 +40,11 @@
+ if (len + master->erasesize > part->mtd.size) + if (len + master->erasesize > part->mtd.size)
+ return; + return;
+ +
+ if (config_enabled(CONFIG_MTD_SPLIT_UIMAGE_FW))
+ pr_err("Dedicated partitioner didn't split firmware partition, please fill a bug report!\n");
+ else
+ pr_warn("Support for built-in firmware splitter will be removed, please use CONFIG_MTD_SPLIT_UIMAGE_FW\n");
+
+ __mtd_add_partition(master, "rootfs", part->offset + len, + __mtd_add_partition(master, "rootfs", part->offset + len,
+ part->mtd.size - len, false); + part->mtd.size - len, false);
+} +}
@ -47,7 +52,7 @@
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else #else
@@ -689,7 +715,14 @@ mtd_pad_erasesize(struct mtd_info *mtd, @@ -689,7 +720,14 @@ mtd_pad_erasesize(struct mtd_info *mtd,
static void split_firmware(struct mtd_info *master, struct mtd_part *part) static void split_firmware(struct mtd_info *master, struct mtd_part *part)
{ {

View File

@ -62,7 +62,7 @@
#define UBOOT_MAGIC 0x27051956 #define UBOOT_MAGIC 0x27051956
static void split_uimage(struct mtd_info *master, struct mtd_part *part) static void split_uimage(struct mtd_info *master, struct mtd_part *part)
@@ -738,7 +779,10 @@ static void mtd_partition_split(struct m @@ -743,7 +784,10 @@ static void mtd_partition_split(struct m
return; return;
if (!strcmp(part->mtd.name, "rootfs")) { if (!strcmp(part->mtd.name, "rootfs")) {