diff options
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.22/065-rootfs_split.patch')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.22/065-rootfs_split.patch | 86 |
1 files changed, 36 insertions, 50 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.22/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.22/065-rootfs_split.patch index f6e79b2..12723d8 100644 --- a/target/linux/generic-2.6/patches-2.6.22/065-rootfs_split.patch +++ b/target/linux/generic-2.6/patches-2.6.22/065-rootfs_split.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.22.19/drivers/mtd/Kconfig -=================================================================== ---- linux-2.6.22.19.orig/drivers/mtd/Kconfig -+++ linux-2.6.22.19/drivers/mtd/Kconfig -@@ -47,6 +47,16 @@ config MTD_PARTITIONS +--- a/drivers/mtd/Kconfig ++++ b/drivers/mtd/Kconfig +@@ -47,6 +47,16 @@ devices. Partitioning on NFTL 'devices' is a different - that's the 'normal' form of partitioning used on a block device. @@ -19,10 +17,8 @@ Index: linux-2.6.22.19/drivers/mtd/Kconfig config MTD_REDBOOT_PARTS tristate "RedBoot partition table parsing" depends on MTD_PARTITIONS -Index: linux-2.6.22.19/drivers/mtd/mtdpart.c -=================================================================== ---- linux-2.6.22.19.orig/drivers/mtd/mtdpart.c -+++ linux-2.6.22.19/drivers/mtd/mtdpart.c +--- a/drivers/mtd/mtdpart.c ++++ b/drivers/mtd/mtdpart.c @@ -20,6 +20,8 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> @@ -32,7 +28,7 @@ Index: linux-2.6.22.19/drivers/mtd/mtdpart.c /* Our partition linked list */ static LIST_HEAD(mtd_partitions); -@@ -39,7 +41,7 @@ struct mtd_part { +@@ -39,7 +41,7 @@ * the pointer to that structure with this macro. */ #define PART(x) ((struct mtd_part *)(x)) @@ -41,7 +37,7 @@ Index: linux-2.6.22.19/drivers/mtd/mtdpart.c /* * MTD methods which simply translate the effective address and pass through -@@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info * +@@ -308,6 +310,312 @@ return 0; } @@ -354,7 +350,7 @@ Index: linux-2.6.22.19/drivers/mtd/mtdpart.c /* * 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 -@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info * +@@ -320,168 +628,31 @@ int nbparts) { struct mtd_part *slave; @@ -544,7 +540,7 @@ Index: linux-2.6.22.19/drivers/mtd/mtdpart.c } } -@@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info +@@ -557,6 +728,32 @@ return ret; } @@ -577,11 +573,9 @@ Index: linux-2.6.22.19/drivers/mtd/mtdpart.c +EXPORT_SYMBOL_GPL(refresh_mtd_partitions); EXPORT_SYMBOL_GPL(register_mtd_parser); EXPORT_SYMBOL_GPL(deregister_mtd_parser); -Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c -=================================================================== ---- linux-2.6.22.19.orig/drivers/mtd/devices/block2mtd.c -+++ linux-2.6.22.19/drivers/mtd/devices/block2mtd.c -@@ -34,6 +34,8 @@ struct block2mtd_dev { +--- a/drivers/mtd/devices/block2mtd.c ++++ b/drivers/mtd/devices/block2mtd.c +@@ -34,6 +34,8 @@ struct block_device *blkdev; struct mtd_info mtd; struct mutex write_mutex; @@ -590,7 +584,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c }; -@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in +@@ -86,6 +88,12 @@ size_t len = instr->len; int err; @@ -603,7 +597,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c instr->state = MTD_ERASING; mutex_lock(&dev->write_mutex); err = _block2mtd_erase(dev, from, len); -@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in +@@ -98,6 +106,10 @@ instr->state = MTD_ERASE_DONE; mtd_erase_callback(instr); @@ -614,7 +608,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c return err; } -@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf +@@ -109,10 +121,14 @@ struct page *page; int index = from >> PAGE_SHIFT; int offset = from & (PAGE_SIZE-1); @@ -632,7 +626,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c if (from + len > mtd->size) len = mtd->size - from; -@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf +@@ -127,10 +143,14 @@ len = len - cpylen; page = page_read(dev->blkdev->bd_inode->i_mapping, index); @@ -651,7 +645,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c memcpy(buf, page_address(page) + offset, cpylen); page_cache_release(page); -@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf +@@ -141,7 +161,10 @@ offset = 0; index++; } @@ -663,7 +657,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c } -@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in +@@ -193,12 +216,22 @@ size_t *retlen, const u_char *buf) { struct block2mtd_dev *dev = mtd->priv; @@ -690,7 +684,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c if (to + len > mtd->size) len = mtd->size - to; -@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in +@@ -207,6 +240,9 @@ mutex_unlock(&dev->write_mutex); if (err > 0) err = 0; @@ -700,7 +694,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c return err; } -@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in +@@ -215,51 +251,29 @@ static void block2mtd_sync(struct mtd_info *mtd) { struct block2mtd_dev *dev = mtd->priv; @@ -760,7 +754,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c if (devt) { bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ); } -@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device( +@@ -267,17 +281,96 @@ #endif if (IS_ERR(bdev)) { @@ -860,7 +854,7 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c /* Setup the MTD structure */ /* make the name contain the block device in */ -@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device( +@@ -304,6 +397,7 @@ dev->mtd.read = block2mtd_read; dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -868,10 +862,8 @@ Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); part->name = dev->mtd.name; -Index: linux-2.6.22.19/drivers/mtd/mtdchar.c -=================================================================== ---- linux-2.6.22.19.orig/drivers/mtd/mtdchar.c -+++ linux-2.6.22.19/drivers/mtd/mtdchar.c +--- a/drivers/mtd/mtdchar.c ++++ b/drivers/mtd/mtdchar.c @@ -16,6 +16,7 @@ #include <linux/mtd/mtd.h> @@ -880,7 +872,7 @@ Index: linux-2.6.22.19/drivers/mtd/mtdchar.c #include <asm/uaccess.h> -@@ -752,6 +753,13 @@ static int mtd_ioctl(struct inode *inode +@@ -752,6 +753,13 @@ file->f_pos = 0; break; } @@ -894,11 +886,9 @@ Index: linux-2.6.22.19/drivers/mtd/mtdchar.c default: ret = -ENOTTY; -Index: linux-2.6.22.19/include/linux/mtd/mtd.h -=================================================================== ---- linux-2.6.22.19.orig/include/linux/mtd/mtd.h -+++ linux-2.6.22.19/include/linux/mtd/mtd.h -@@ -98,6 +98,7 @@ struct mtd_oob_ops { +--- a/include/linux/mtd/mtd.h ++++ b/include/linux/mtd/mtd.h +@@ -98,6 +98,7 @@ uint8_t *oobbuf; }; @@ -906,7 +896,7 @@ Index: linux-2.6.22.19/include/linux/mtd/mtd.h struct mtd_info { u_char type; u_int32_t flags; -@@ -195,6 +196,9 @@ struct mtd_info { +@@ -195,6 +196,9 @@ struct module *owner; int usecount; @@ -916,10 +906,8 @@ Index: linux-2.6.22.19/include/linux/mtd/mtd.h /* If the driver is something smart, like UBI, it may need to maintain * its own reference counting. The below functions are only for driver. * The driver may register its callbacks. These callbacks are not -Index: linux-2.6.22.19/include/linux/mtd/partitions.h -=================================================================== ---- linux-2.6.22.19.orig/include/linux/mtd/partitions.h -+++ linux-2.6.22.19/include/linux/mtd/partitions.h +--- a/include/linux/mtd/partitions.h ++++ b/include/linux/mtd/partitions.h @@ -36,6 +36,7 @@ * erasesize aligned (e.g. use MTDPART_OFS_NEXTBLK). */ @@ -928,7 +916,7 @@ Index: linux-2.6.22.19/include/linux/mtd/partitions.h struct mtd_partition { char *name; /* identifier string */ u_int32_t size; /* partition size */ -@@ -43,6 +44,7 @@ struct mtd_partition { +@@ -43,6 +44,7 @@ u_int32_t mask_flags; /* master MTD flags to mask out for this partition */ struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ struct mtd_info **mtdp; /* pointer to store the MTD object */ @@ -936,7 +924,7 @@ Index: linux-2.6.22.19/include/linux/mtd/partitions.h }; #define MTDPART_OFS_NXTBLK (-2) -@@ -52,6 +54,7 @@ struct mtd_partition { +@@ -52,6 +54,7 @@ int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int); int del_mtd_partitions(struct mtd_info *); @@ -944,11 +932,9 @@ Index: linux-2.6.22.19/include/linux/mtd/partitions.h /* * Functions dealing with the various ways of partitioning the space -Index: linux-2.6.22.19/include/mtd/mtd-abi.h -=================================================================== ---- linux-2.6.22.19.orig/include/mtd/mtd-abi.h -+++ linux-2.6.22.19/include/mtd/mtd-abi.h -@@ -95,6 +95,7 @@ struct otp_info { +--- a/include/mtd/mtd-abi.h ++++ b/include/mtd/mtd-abi.h +@@ -95,6 +95,7 @@ #define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout) #define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats) #define MTDFILEMODE _IO('M', 19) |