kernel: move mtdsplit files to drivers/mtd/mtdsplit/ to simplify maintenance, unify patches across kernel versions

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43805
This commit is contained in:
Felix Fietkau 2015-01-02 21:52:35 +00:00
parent 6bfd210ade
commit 4153c0adff
53 changed files with 93 additions and 346 deletions

View File

@ -1,7 +1,16 @@
config MTD_SPLIT
def_bool n
help
Generic MTD split support.
config MTD_SPLIT_SUPPORT
def_bool MTD = y
comment "Rootfs partition parsers"
config MTD_SPLIT_SQUASHFS_ROOT
bool "Squashfs based root partition parser"
depends on MTD_SPLIT_SUPPORT
select MTD_SPLIT
default n
help
@ -13,12 +22,15 @@ comment "Firmware partition parsers"
config MTD_SPLIT_SEAMA_FW
bool "Seama firmware parser"
depends on MTD_SPLIT_SUPPORT
select MTD_SPLIT
config MTD_SPLIT_UIMAGE_FW
bool "uImage based firmware partition parser"
depends on MTD_SPLIT_SUPPORT
select MTD_SPLIT
config MTD_SPLIT_LZMA_FW
bool "LZMA compressed kernel based firmware partition parser"
depends on MTD_SPLIT_SUPPORT
select MTD_SPLIT

View File

@ -0,0 +1,5 @@
obj-$(CONFIG_MTD_SPLIT) += mtdsplit.o
obj-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
obj-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
obj-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
obj-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsplit_lzma.o

View File

@ -35,7 +35,7 @@
depends on m
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -29,6 +29,7 @@
@@ -29,9 +29,11 @@
#include <linux/kmod.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
@ -43,7 +43,11 @@
#include <linux/err.h>
#include "mtdcore.h"
@@ -45,13 +46,14 @@ struct mtd_part {
+#include "mtdsplit/mtdsplit.h"
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
@@ -45,13 +47,14 @@ struct mtd_part {
struct list_head list;
};
@ -59,7 +63,7 @@
/*
* MTD methods which simply translate the effective address and pass through
* to the _real_ device.
@@ -533,8 +535,10 @@ out_register:
@@ -533,8 +536,10 @@ out_register:
return slave;
}
@ -72,7 +76,7 @@
{
struct mtd_partition part;
struct mtd_part *p, *new;
@@ -566,21 +570,24 @@ int mtd_add_partition(struct mtd_info *m
@@ -566,21 +571,24 @@ int mtd_add_partition(struct mtd_info *m
end = offset + length;
mutex_lock(&mtd_partitions_mutex);
@ -107,7 +111,7 @@
return ret;
err_inv:
@@ -590,6 +597,12 @@ err_inv:
@@ -590,6 +598,12 @@ err_inv:
}
EXPORT_SYMBOL_GPL(mtd_add_partition);
@ -120,7 +124,7 @@
int mtd_del_partition(struct mtd_info *master, int partno)
{
struct mtd_part *slave, *next;
@@ -613,6 +626,144 @@ int mtd_del_partition(struct mtd_info *m
@@ -613,6 +627,144 @@ int mtd_del_partition(struct mtd_info *m
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@ -265,7 +269,7 @@
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
@@ -642,6 +793,7 @@ int add_mtd_partitions(struct mtd_info *
@@ -642,6 +794,7 @@ int add_mtd_partitions(struct mtd_info *
mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&slave->mtd);

View File

@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -823,6 +823,30 @@ static struct mtd_part_parser *get_parti
@@ -824,6 +824,30 @@ static struct mtd_part_parser *get_parti
#define put_partition_parser(p) do { module_put((p)->owner); } while (0)
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
int register_mtd_parser(struct mtd_part_parser *p)
{
spin_lock(&part_parser_lock);
@@ -899,6 +923,38 @@ int parse_mtd_partitions(struct mtd_info
@@ -900,6 +924,38 @@ int parse_mtd_partitions(struct mtd_info
return ret;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -626,6 +626,37 @@ int mtd_del_partition(struct mtd_info *m
@@ -627,6 +627,37 @@ int mtd_del_partition(struct mtd_info *m
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@ -38,7 +38,7 @@
static inline unsigned long
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{
@@ -685,6 +716,10 @@ static void split_rootfs_data(struct mtd
@@ -686,6 +717,10 @@ static void split_rootfs_data(struct mtd
unsigned int split_size;
int ret;
@ -49,7 +49,7 @@
ret = split_squashfs(master, part->offset, &split_offset);
if (ret)
return;
@@ -734,6 +769,12 @@ static void split_uimage(struct mtd_info
@@ -735,6 +770,12 @@ static void split_uimage(struct mtd_info
static void split_firmware(struct mtd_info *master, struct mtd_part *part)
{

View File

@ -1,13 +1,10 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -36,6 +36,11 @@ config MTD_UIMAGE_SPLIT
@@ -36,6 +36,8 @@ config MTD_UIMAGE_SPLIT
depends on MTD_SPLIT_FIRMWARE
default y
+config MTD_SPLIT
+ def_bool n
+ help
+ Generic MTD split support.
+source "drivers/mtd/mtdsplit/Kconfig"
+
endmenu
@ -18,7 +15,7 @@
obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
+mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
+
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -1,14 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -33,6 +33,7 @@
#include <linux/err.h>
#include "mtdcore.h"
+#include "mtdsplit.h"
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
@@ -668,43 +669,16 @@ mtd_pad_erasesize(struct mtd_info *mtd,
@@ -669,43 +669,16 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len;
}

View File

@ -1,30 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -37,6 +37,17 @@ config MTD_UIMAGE_SPLIT
depends on MTD_SPLIT_FIRMWARE
default y
+comment "Rootfs partition parsers"
+
+config MTD_SPLIT_SQUASHFS_ROOT
+ bool "Squashfs based root partition parser"
+ select MTD_SPLIT
+ default n
+ help
+ This provides a parsing function which allows to detect the
+ offset and size of the unused portion of a rootfs partition
+ containing a squashfs.
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -1,25 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -48,6 +48,12 @@ config MTD_SPLIT_SQUASHFS_ROOT
offset and size of the unused portion of a rootfs partition
containing a squashfs.
+comment "Firmware partition parsers"
+
+config MTD_SPLIT_UIMAGE_FW
+ bool "uImage based firmware partition parser"
+ select MTD_SPLIT
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -8,6 +8,7 @@ mtd-y := mtdcore.o mtdsuper.o mtdconc
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
+mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -1,23 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -50,6 +50,10 @@ config MTD_SPLIT_SQUASHFS_ROOT
comment "Firmware partition parsers"
+config MTD_SPLIT_SEAMA_FW
+ bool "Seama firmware parser"
+ select MTD_SPLIT
+
config MTD_SPLIT_UIMAGE_FW
bool "uImage based firmware partition parser"
select MTD_SPLIT
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+mtd-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o

View File

@ -1,23 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -58,6 +58,10 @@ config MTD_SPLIT_UIMAGE_FW
bool "uImage based firmware partition parser"
select MTD_SPLIT
+config MTD_SPLIT_LZMA_FW
+ bool "LZMA compressed kernel based firmware partition parser"
+ select MTD_SPLIT
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -10,6 +10,7 @@ mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
mtd-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
+mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsplit_lzma.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -2,7 +2,7 @@
+++ b/drivers/mtd/mtdpart.c
@@ -35,6 +35,8 @@
#include "mtdcore.h"
#include "mtdsplit.h"
#include "mtdsplit/mtdsplit.h"
+#define MTD_ERASE_PARTIAL 0x8000 /* partition only covers parts of an erase block */
+

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -212,6 +212,22 @@ config MTD_BCM47XX_PARTS
@@ -184,6 +184,22 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx
boards.
@ -25,7 +25,7 @@
config MTD_BLKDEVS
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
@@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o

View File

@ -11,7 +11,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1209,6 +1209,48 @@
@@ -1207,6 +1207,48 @@ static struct mtd_info * __init open_mtd
return mtd;
}
@ -60,7 +60,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
static int __init ubi_init(void)
{
int err, i, k;
@@ -1298,6 +1340,12 @@
@@ -1290,6 +1332,12 @@ static int __init ubi_init(void)
}
}

View File

@ -35,7 +35,7 @@
depends on m
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -29,6 +29,7 @@
@@ -29,9 +29,11 @@
#include <linux/kmod.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
@ -43,7 +43,11 @@
#include <linux/err.h>
#include "mtdcore.h"
@@ -45,13 +46,14 @@ struct mtd_part {
+#include "mtdsplit/mtdsplit.h"
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
@@ -45,13 +47,14 @@ struct mtd_part {
struct list_head list;
};
@ -59,7 +63,7 @@
/*
* MTD methods which simply translate the effective address and pass through
* to the _real_ device.
@@ -534,8 +536,10 @@ out_register:
@@ -534,8 +537,10 @@ out_register:
return slave;
}
@ -72,7 +76,7 @@
{
struct mtd_partition part;
struct mtd_part *p, *new;
@@ -567,21 +571,24 @@ int mtd_add_partition(struct mtd_info *m
@@ -567,21 +572,24 @@ int mtd_add_partition(struct mtd_info *m
end = offset + length;
mutex_lock(&mtd_partitions_mutex);
@ -107,7 +111,7 @@
return ret;
err_inv:
@@ -591,6 +598,12 @@ err_inv:
@@ -591,6 +599,12 @@ err_inv:
}
EXPORT_SYMBOL_GPL(mtd_add_partition);
@ -120,7 +124,7 @@
int mtd_del_partition(struct mtd_info *master, int partno)
{
struct mtd_part *slave, *next;
@@ -614,6 +627,144 @@ int mtd_del_partition(struct mtd_info *m
@@ -614,6 +628,144 @@ int mtd_del_partition(struct mtd_info *m
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@ -265,7 +269,7 @@
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
@@ -643,6 +794,7 @@ int add_mtd_partitions(struct mtd_info *
@@ -643,6 +795,7 @@ int add_mtd_partitions(struct mtd_info *
mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&slave->mtd);

View File

@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -824,6 +824,30 @@ static struct mtd_part_parser *get_parti
@@ -825,6 +825,30 @@ static struct mtd_part_parser *get_parti
#define put_partition_parser(p) do { module_put((p)->owner); } while (0)
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
int register_mtd_parser(struct mtd_part_parser *p)
{
spin_lock(&part_parser_lock);
@@ -900,6 +924,38 @@ int parse_mtd_partitions(struct mtd_info
@@ -901,6 +925,38 @@ int parse_mtd_partitions(struct mtd_info
return ret;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -627,6 +627,37 @@ int mtd_del_partition(struct mtd_info *m
@@ -628,6 +628,37 @@ int mtd_del_partition(struct mtd_info *m
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@ -38,7 +38,7 @@
static inline unsigned long
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{
@@ -686,6 +717,10 @@ static void split_rootfs_data(struct mtd
@@ -687,6 +718,10 @@ static void split_rootfs_data(struct mtd
unsigned int split_size;
int ret;
@ -49,7 +49,7 @@
ret = split_squashfs(master, part->offset, &split_offset);
if (ret)
return;
@@ -735,6 +770,12 @@ static void split_uimage(struct mtd_info
@@ -736,6 +771,12 @@ static void split_uimage(struct mtd_info
static void split_firmware(struct mtd_info *master, struct mtd_part *part)
{

View File

@ -1,13 +1,10 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -36,6 +36,11 @@ config MTD_UIMAGE_SPLIT
@@ -36,6 +36,8 @@ config MTD_UIMAGE_SPLIT
depends on MTD_SPLIT_FIRMWARE
default y
+config MTD_SPLIT
+ def_bool n
+ help
+ Generic MTD split support.
+source "drivers/mtd/mtdsplit/Kconfig"
+
endmenu
@ -18,7 +15,7 @@
obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
+mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
+
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -1,14 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -33,6 +33,7 @@
#include <linux/err.h>
#include "mtdcore.h"
+#include "mtdsplit.h"
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
@@ -669,43 +670,16 @@ mtd_pad_erasesize(struct mtd_info *mtd,
@@ -670,43 +670,16 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len;
}

View File

@ -1,30 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -37,6 +37,17 @@ config MTD_UIMAGE_SPLIT
depends on MTD_SPLIT_FIRMWARE
default y
+comment "Rootfs partition parsers"
+
+config MTD_SPLIT_SQUASHFS_ROOT
+ bool "Squashfs based root partition parser"
+ select MTD_SPLIT
+ default n
+ help
+ This provides a parsing function which allows to detect the
+ offset and size of the unused portion of a rootfs partition
+ containing a squashfs.
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -1,25 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -48,6 +48,12 @@ config MTD_SPLIT_SQUASHFS_ROOT
offset and size of the unused portion of a rootfs partition
containing a squashfs.
+comment "Firmware partition parsers"
+
+config MTD_SPLIT_UIMAGE_FW
+ bool "uImage based firmware partition parser"
+ select MTD_SPLIT
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -8,6 +8,7 @@ mtd-y := mtdcore.o mtdsuper.o mtdconc
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
+mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -1,23 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -50,6 +50,10 @@ config MTD_SPLIT_SQUASHFS_ROOT
comment "Firmware partition parsers"
+config MTD_SPLIT_SEAMA_FW
+ bool "Seama firmware parser"
+ select MTD_SPLIT
+
config MTD_SPLIT_UIMAGE_FW
bool "uImage based firmware partition parser"
select MTD_SPLIT
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+mtd-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o

View File

@ -1,23 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -58,6 +58,10 @@ config MTD_SPLIT_UIMAGE_FW
bool "uImage based firmware partition parser"
select MTD_SPLIT
+config MTD_SPLIT_LZMA_FW
+ bool "LZMA compressed kernel based firmware partition parser"
+ select MTD_SPLIT
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -10,6 +10,7 @@ mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
mtd-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
+mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsplit_lzma.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -2,7 +2,7 @@
+++ b/drivers/mtd/mtdpart.c
@@ -35,6 +35,8 @@
#include "mtdcore.h"
#include "mtdsplit.h"
#include "mtdsplit/mtdsplit.h"
+#define MTD_ERASE_PARTIAL 0x8000 /* partition only covers parts of an erase block */
+

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -212,6 +212,22 @@ config MTD_BCM47XX_PARTS
@@ -184,6 +184,22 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx
boards.
@ -25,7 +25,7 @@
config MTD_BLKDEVS
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
@@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o

View File

@ -30,7 +30,7 @@
/****************************************************************************/
struct m25p {
@@ -1032,7 +1038,7 @@ static int m25p_probe(struct spi_device
@@ -1032,7 +1038,7 @@ static int m25p_probe(struct spi_device
flash->mtd._write = m25p80_write;
/* prefer "small sector" erase if possible */

View File

@ -8,7 +8,7 @@
static struct proc_dir_entry *my_proc_entry;
static char *yaffs_dump_dev_part0(char *buf, struct yaffs_dev *dev)
@@ -3398,6 +3399,7 @@ static int yaffs_proc_write(struct file
@@ -3398,6 +3399,7 @@ static int yaffs_proc_write(struct file
return yaffs_proc_debug_write(file, buf, count, data);
return yaffs_proc_write_trace_options(file, buf, count, data);
}

View File

@ -34,7 +34,7 @@
#include <linux/err.h>
#include "mtdcore.h"
+#include "mtdsplit.h"
+#include "mtdsplit/mtdsplit.h"
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);

View File

@ -1,13 +1,10 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -27,6 +27,11 @@ config MTD_SPLIT_FIRMWARE_NAME
@@ -27,6 +27,8 @@ config MTD_SPLIT_FIRMWARE_NAME
depends on MTD_SPLIT_FIRMWARE
default "firmware"
+config MTD_SPLIT
+ def_bool n
+ help
+ Generic MTD split support.
+source "drivers/mtd/mtdsplit/Kconfig"
+
endmenu
@ -18,7 +15,7 @@
obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
+mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
+
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -11,10 +11,10 @@
+
source "drivers/mtd/mtdsplit/Kconfig"
config MTD_SPLIT
endmenu
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -668,6 +668,37 @@ mtd_pad_erasesize(struct mtd_info *mtd,
@@ -668,6 +668,37 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len;
}
@ -52,7 +52,7 @@
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else
@@ -676,7 +707,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)
{

View File

@ -1,24 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -27,6 +27,8 @@ config MTD_SPLIT_FIRMWARE_NAME
depends on MTD_SPLIT_FIRMWARE
default "firmware"
+source "drivers/mtd/mtdsplit/Kconfig"
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,6 +7,10 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+mtd-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
+mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
+mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
+mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsplit_lzma.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -14,7 +14,7 @@
default y
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -668,6 +668,47 @@ mtd_pad_erasesize(struct mtd_info *mtd,
@@ -668,6 +668,47 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len;
}

View File

@ -2,7 +2,7 @@
+++ b/drivers/mtd/mtdpart.c
@@ -35,6 +35,8 @@
#include "mtdcore.h"
#include "mtdsplit.h"
#include "mtdsplit/mtdsplit.h"
+#define MTD_ERASE_PARTIAL 0x8000 /* partition only covers parts of an erase block */
+

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -189,6 +189,22 @@ config MTD_BCM47XX_PARTS
@@ -184,6 +184,22 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx
boards.
@ -25,7 +25,7 @@
#
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
@@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o

View File

@ -17,7 +17,7 @@
u64 offset, uint32_t mask_flags)
{
part->name = name;
@@ -58,6 +59,26 @@ static void bcm47xxpart_add_part(struct
@@ -58,6 +59,26 @@ static void bcm47xxpart_add_part(struct
part->mask_flags = mask_flags;
}

View File

@ -30,7 +30,7 @@
/****************************************************************************/
enum read_type {
@@ -1192,7 +1198,7 @@ static int m25p_probe(struct spi_device
@@ -1192,7 +1198,7 @@ static int m25p_probe(struct spi_device
flash->mtd._write = m25p80_write;
/* prefer "small sector" erase if possible */

View File

@ -34,7 +34,7 @@
#include <linux/err.h>
#include "mtdcore.h"
+#include "mtdsplit.h"
+#include "mtdsplit/mtdsplit.h"
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);

View File

@ -1,13 +1,10 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -27,6 +27,11 @@ config MTD_SPLIT_FIRMWARE_NAME
@@ -27,6 +27,8 @@ config MTD_SPLIT_FIRMWARE_NAME
depends on MTD_SPLIT_FIRMWARE
default "firmware"
+config MTD_SPLIT
+ def_bool n
+ help
+ Generic MTD split support.
+source "drivers/mtd/mtdsplit/Kconfig"
+
endmenu
@ -18,7 +15,7 @@
obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
+mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
+
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -11,10 +11,10 @@
+
source "drivers/mtd/mtdsplit/Kconfig"
config MTD_SPLIT
endmenu
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -681,6 +681,37 @@ mtd_pad_erasesize(struct mtd_info *mtd,
@@ -681,6 +681,37 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len;
}
@ -52,7 +52,7 @@
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else
@@ -689,7 +720,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)
{

View File

@ -1,24 +0,0 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -27,6 +27,8 @@ config MTD_SPLIT_FIRMWARE_NAME
depends on MTD_SPLIT_FIRMWARE
default "firmware"
+source "drivers/mtd/mtdsplit/Kconfig"
+
config MTD_SPLIT
def_bool n
help
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -7,6 +7,10 @@ obj-$(CONFIG_MTD) += mtd.o
mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
mtd-$(CONFIG_MTD_SPLIT) += mtdsplit.o
+mtd-$(CONFIG_MTD_SPLIT_SEAMA_FW) += mtdsplit_seama.o
+mtd-$(CONFIG_MTD_SPLIT_SQUASHFS_ROOT) += mtdsplit_squashfs.o
+mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtdsplit_uimage.o
+mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsplit_lzma.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o

View File

@ -14,7 +14,7 @@
default y
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -681,6 +681,47 @@ mtd_pad_erasesize(struct mtd_info *mtd,
@@ -681,6 +681,47 @@ mtd_pad_erasesize(struct mtd_info *mtd,
return len;
}

View File

@ -2,7 +2,7 @@
+++ b/drivers/mtd/mtdpart.c
@@ -35,6 +35,8 @@
#include "mtdcore.h"
#include "mtdsplit.h"
#include "mtdsplit/mtdsplit.h"
+#define MTD_ERASE_PARTIAL 0x8000 /* partition only covers parts of an erase block */
+

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -189,6 +189,22 @@ config MTD_BCM47XX_PARTS
@@ -184,6 +184,22 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx
boards.
@ -25,7 +25,7 @@
#
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
@@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o

View File

@ -17,7 +17,7 @@
u64 offset, uint32_t mask_flags)
{
part->name = name;
@@ -58,6 +59,26 @@ static void bcm47xxpart_add_part(struct
@@ -58,6 +59,26 @@ static void bcm47xxpart_add_part(struct
part->mask_flags = mask_flags;
}

View File

@ -8,7 +8,7 @@
static struct proc_dir_entry *my_proc_entry;
static char *yaffs_dump_dev_part0(char *buf, struct yaffs_dev *dev)
@@ -3398,6 +3399,7 @@ static int yaffs_proc_write(struct file
@@ -3398,6 +3399,7 @@ static int yaffs_proc_write(struct file
return yaffs_proc_debug_write(file, buf, count, data);
return yaffs_proc_write_trace_options(file, buf, count, data);
}