Hi the patches should be self contained and buildable. if i understand 2/3 correct it is needed for the fixes in 1/3 to build.
also in 1/3 you rename and change a file in 1 go, which is not that good. could you resend the series with the following layout 1/3 - only do the renaming 2/3 - add your changes and fix the patches to build 3/3 - ca stay as it is. thanks, John On 05/03/2015 17:08, Christian Lamparter wrote: > This patch re-purposes the functionality of the custom > partition parser from Linksys' WRT160NL router. This way, > WD's My Net Wi-fi Range Extender can make use of the same > Cybertan partition layout. > > Signed-off-by: Christian Lamparter <chunk...@googlemail.com> > --- > target/linux/ar71xx/config-3.14 | 2 +- > target/linux/ar71xx/config-3.18 | 2 +- > .../ar71xx/files/arch/mips/ath79/mach-wrt160nl.c | 2 +- > .../linux/ar71xx/files/drivers/mtd/cybertan_part.c | 201 ++++++++++++++++++++ > .../linux/ar71xx/files/drivers/mtd/wrt160nl_part.c | 207 > --------------------- > .../patches-3.14/404-mtd-cybertan-trx-parser.patch | 26 +++ > .../patches-3.14/404-mtd-wrt160nl-trx-parser.patch | 25 --- > .../patches-3.18/404-mtd-cybertan-trx-parser.patch | 26 +++ > .../patches-3.18/404-mtd-wrt160nl-trx-parser.patch | 25 --- > 9 files changed, 256 insertions(+), 260 deletions(-) > create mode 100644 target/linux/ar71xx/files/drivers/mtd/cybertan_part.c > delete mode 100644 target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c > create mode 100644 > target/linux/ar71xx/patches-3.14/404-mtd-cybertan-trx-parser.patch > delete mode 100644 > target/linux/ar71xx/patches-3.14/404-mtd-wrt160nl-trx-parser.patch > create mode 100644 > target/linux/ar71xx/patches-3.18/404-mtd-cybertan-trx-parser.patch > delete mode 100644 > target/linux/ar71xx/patches-3.18/404-mtd-wrt160nl-trx-parser.patch > > diff --git a/target/linux/ar71xx/config-3.14 b/target/linux/ar71xx/config-3.14 > index d6691b4..85a0bda 100644 > --- a/target/linux/ar71xx/config-3.14 > +++ b/target/linux/ar71xx/config-3.14 > @@ -255,7 +255,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y > CONFIG_MTD_SPLIT_SEAMA_FW=y > CONFIG_MTD_SPLIT_UIMAGE_FW=y > CONFIG_MTD_TPLINK_PARTS=y > -CONFIG_MTD_WRT160NL_PARTS=y > +CONFIG_MTD_CYBERTAN_PARTS=y > CONFIG_MYLOADER=y > CONFIG_NEED_DMA_MAP_STATE=y > CONFIG_NEED_PER_CPU_KM=y > diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18 > index fa287e2..783bc35 100644 > --- a/target/linux/ar71xx/config-3.18 > +++ b/target/linux/ar71xx/config-3.18 > @@ -256,7 +256,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y > CONFIG_MTD_SPLIT_SEAMA_FW=y > CONFIG_MTD_SPLIT_UIMAGE_FW=y > CONFIG_MTD_TPLINK_PARTS=y > -CONFIG_MTD_WRT160NL_PARTS=y > +CONFIG_MTD_CYBERTAN_PARTS=y > CONFIG_MYLOADER=y > CONFIG_NEED_DMA_MAP_STATE=y > CONFIG_NEED_PER_CPU_KM=y > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c > b/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c > index 21aefe0..ede3c21 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-wrt160nl.c > @@ -34,7 +34,7 @@ > #define WRT160NL_NVRAM_SIZE 0x10000 > > static const char *wrt160nl_part_probes[] = { > - "wrt160nl", > + "cybertan", > NULL, > }; > > diff --git a/target/linux/ar71xx/files/drivers/mtd/cybertan_part.c > b/target/linux/ar71xx/files/drivers/mtd/cybertan_part.c > new file mode 100644 > index 0000000..be9004d > --- /dev/null > +++ b/target/linux/ar71xx/files/drivers/mtd/cybertan_part.c > @@ -0,0 +1,201 @@ > +/* > + * Copyright (C) 2009 Christian Daniel <c...@maintech.de> > + * Copyright (C) 2009 Gabor Juhos <juh...@openwrt.org> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > + * > + * TRX flash partition table. > + * Based on ar7 map by Felix Fietkau <n...@openwrt.org> > + * > + */ > + > +#include <linux/kernel.h> > +#include <linux/module.h> > +#include <linux/slab.h> > +#include <linux/vmalloc.h> > + > +#include <linux/mtd/mtd.h> > +#include <linux/mtd/partitions.h> > + > +struct cybertan_header { > + char magic[4]; > + u8 res1[4]; > + char fw_date[3]; > + char fw_ver[3]; > + char id[4]; > + char hw_ver; > + char unused; > + u8 flags[2]; > + u8 res2[10]; > +}; > + > +#define TRX_PARTS 6 > +#define TRX_MAGIC 0x30524448 > +#define TRX_MAX_OFFSET 3 > + > +struct trx_header { > + uint32_t magic; /* "HDR0" */ > + uint32_t len; /* Length of file including header */ > + uint32_t crc32; /* 32-bit CRC from flag_version to end of > file */ > + uint32_t flag_version; /* 0:15 flags, 16:31 version */ > + uint32_t offsets[TRX_MAX_OFFSET]; /* Offsets of partitions from start > of header */ > +}; > + > +#define IH_MAGIC 0x27051956 /* Image Magic Number */ > +#define IH_NMLEN 32 /* Image Name Length */ > + > +struct uimage_header { > + uint32_t ih_magic; /* Image Header Magic Number */ > + uint32_t ih_hcrc; /* Image Header CRC Checksum */ > + uint32_t ih_time; /* Image Creation Timestamp */ > + uint32_t ih_size; /* Image Data Size */ > + uint32_t ih_load; /* Data» Load Address */ > + uint32_t ih_ep; /* Entry Point Address */ > + uint32_t ih_dcrc; /* Image Data CRC Checksum */ > + uint8_t ih_os; /* Operating System */ > + uint8_t ih_arch; /* CPU architecture */ > + uint8_t ih_type; /* Image Type */ > + uint8_t ih_comp; /* Compression Type */ > + uint8_t ih_name[IH_NMLEN]; /* Image Name */ > +}; > + > +struct firmware_header { > + struct cybertan_header cybertan; > + struct trx_header trx; > + struct uimage_header uimage; > +} __packed; > + > +#define UBOOT_LEN 0x40000 > +#define ART_LEN 0x10000 > +#define NVRAM_LEN 0x10000 > + > +static int cybertan_parse_partitions(struct mtd_info *master, > + struct mtd_partition **pparts, > + struct mtd_part_parser_data *data) > +{ > + struct firmware_header *header; > + struct trx_header *theader; > + struct uimage_header *uheader; > + struct mtd_partition *trx_parts; > + size_t retlen; > + unsigned int kernel_len; > + unsigned int uboot_len; > + unsigned int nvram_len; > + unsigned int art_len; > + int ret; > + > + uboot_len = max_t(unsigned int, master->erasesize, UBOOT_LEN); > + nvram_len = max_t(unsigned int, master->erasesize, NVRAM_LEN); > + art_len = max_t(unsigned int, master->erasesize, ART_LEN); > + > + trx_parts = kzalloc(TRX_PARTS * sizeof(struct mtd_partition), > + GFP_KERNEL); > + if (!trx_parts) { > + ret = -ENOMEM; > + goto out; > + } > + > + header = vmalloc(sizeof(*header)); > + if (!header) { > + return -ENOMEM; > + goto free_parts; > + } > + > + ret = mtd_read(master, uboot_len, sizeof(*header), > + &retlen, (void *) header); > + if (ret) > + goto free_hdr; > + > + if (retlen != sizeof(*header)) { > + ret = -EIO; > + goto free_hdr; > + } > + > + theader = &header->trx; > + if (le32_to_cpu(theader->magic) != TRX_MAGIC) { > + printk(KERN_NOTICE "%s: no TRX header found\n", master->name); > + goto free_hdr; > + } > + > + uheader = &header->uimage; > + if (uheader->ih_magic != IH_MAGIC) { > + printk(KERN_NOTICE "%s: no uImage found\n", master->name); > + goto free_hdr; > + } > + > + kernel_len = le32_to_cpu(theader->offsets[1]) + > + sizeof(struct cybertan_header); > + > + trx_parts[0].name = "u-boot"; > + trx_parts[0].offset = 0; > + trx_parts[0].size = uboot_len; > + trx_parts[0].mask_flags = MTD_WRITEABLE; > + > + trx_parts[1].name = "kernel"; > + trx_parts[1].offset = trx_parts[0].offset + trx_parts[0].size; > + trx_parts[1].size = kernel_len; > + trx_parts[1].mask_flags = 0; > + > + trx_parts[2].name = "rootfs"; > + trx_parts[2].offset = trx_parts[1].offset + trx_parts[1].size; > + trx_parts[2].size = master->size - uboot_len - nvram_len - art_len - > + trx_parts[1].size; > + trx_parts[2].mask_flags = 0; > + > + trx_parts[3].name = "nvram"; > + trx_parts[3].offset = master->size - nvram_len - art_len; > + trx_parts[3].size = nvram_len; > + trx_parts[3].mask_flags = MTD_WRITEABLE; > + > + trx_parts[4].name = "art"; > + trx_parts[4].offset = master->size - art_len; > + trx_parts[4].size = art_len; > + trx_parts[4].mask_flags = MTD_WRITEABLE; > + > + trx_parts[5].name = "firmware"; > + trx_parts[5].offset = uboot_len; > + trx_parts[5].size = master->size - uboot_len - nvram_len - art_len; > + trx_parts[5].mask_flags = 0; > + > + vfree(header); > + > + *pparts = trx_parts; > + return TRX_PARTS; > + > +free_hdr: > + vfree(header); > +free_parts: > + kfree(trx_parts); > +out: > + return ret; > +} > + > +static struct mtd_part_parser cybertan_parser = { > + .owner = THIS_MODULE, > + .parse_fn = cybertan_parse_partitions, > + .name = "cybertan", > +}; > + > +static int __init cybertan_parser_init(void) > +{ > + register_mtd_parser(&cybertan_parser); > + > + return 0; > +} > + > +module_init(cybertan_parser_init); > + > +MODULE_LICENSE("GPL"); > +MODULE_AUTHOR("Christian Daniel <c...@maintech.de>"); > diff --git a/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c > b/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c > deleted file mode 100644 > index 698bba8..0000000 > --- a/target/linux/ar71xx/files/drivers/mtd/wrt160nl_part.c > +++ /dev/null > @@ -1,207 +0,0 @@ > -/* > - * Copyright (C) 2009 Christian Daniel <c...@maintech.de> > - * Copyright (C) 2009 Gabor Juhos <juh...@openwrt.org> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > - * > - * TRX flash partition table. > - * Based on ar7 map by Felix Fietkau <n...@openwrt.org> > - * > - */ > - > -#include <linux/kernel.h> > -#include <linux/module.h> > -#include <linux/slab.h> > -#include <linux/vmalloc.h> > - > -#include <linux/mtd/mtd.h> > -#include <linux/mtd/partitions.h> > - > -struct cybertan_header { > - char magic[4]; > - u8 res1[4]; > - char fw_date[3]; > - char fw_ver[3]; > - char id[4]; > - char hw_ver; > - char unused; > - u8 flags[2]; > - u8 res2[10]; > -}; > - > -#define TRX_PARTS 6 > -#define TRX_MAGIC 0x30524448 > -#define TRX_MAX_OFFSET 3 > - > -struct trx_header { > - uint32_t magic; /* "HDR0" */ > - uint32_t len; /* Length of file including header */ > - uint32_t crc32; /* 32-bit CRC from flag_version to end of > file */ > - uint32_t flag_version; /* 0:15 flags, 16:31 version */ > - uint32_t offsets[TRX_MAX_OFFSET]; /* Offsets of partitions from start > of header */ > -}; > - > -#define IH_MAGIC 0x27051956 /* Image Magic Number */ > -#define IH_NMLEN 32 /* Image Name Length */ > - > -struct uimage_header { > - uint32_t ih_magic; /* Image Header Magic Number */ > - uint32_t ih_hcrc; /* Image Header CRC Checksum */ > - uint32_t ih_time; /* Image Creation Timestamp */ > - uint32_t ih_size; /* Image Data Size */ > - uint32_t ih_load; /* Data» Load Address */ > - uint32_t ih_ep; /* Entry Point Address */ > - uint32_t ih_dcrc; /* Image Data CRC Checksum */ > - uint8_t ih_os; /* Operating System */ > - uint8_t ih_arch; /* CPU architecture */ > - uint8_t ih_type; /* Image Type */ > - uint8_t ih_comp; /* Compression Type */ > - uint8_t ih_name[IH_NMLEN]; /* Image Name */ > -}; > - > -struct wrt160nl_header { > - struct cybertan_header cybertan; > - struct trx_header trx; > - struct uimage_header uimage; > -} __attribute__ ((packed)); > - > -#define WRT160NL_UBOOT_LEN 0x40000 > -#define WRT160NL_ART_LEN 0x10000 > -#define WRT160NL_NVRAM_LEN 0x10000 > - > -static int wrt160nl_parse_partitions(struct mtd_info *master, > - struct mtd_partition **pparts, > - struct mtd_part_parser_data *data) > -{ > - struct wrt160nl_header *header; > - struct trx_header *theader; > - struct uimage_header *uheader; > - struct mtd_partition *trx_parts; > - size_t retlen; > - unsigned int kernel_len; > - unsigned int uboot_len; > - unsigned int nvram_len; > - unsigned int art_len; > - int ret; > - > - uboot_len = max_t(unsigned int, master->erasesize, WRT160NL_UBOOT_LEN); > - nvram_len = max_t(unsigned int, master->erasesize, WRT160NL_NVRAM_LEN); > - art_len = max_t(unsigned int, master->erasesize, WRT160NL_ART_LEN); > - > - trx_parts = kzalloc(TRX_PARTS * sizeof(struct mtd_partition), > - GFP_KERNEL); > - if (!trx_parts) { > - ret = -ENOMEM; > - goto out; > - } > - > - header = vmalloc(sizeof(*header)); > - if (!header) { > - return -ENOMEM; > - goto free_parts; > - } > - > - ret = mtd_read(master, uboot_len, sizeof(*header), > - &retlen, (void *) header); > - if (ret) > - goto free_hdr; > - > - if (retlen != sizeof(*header)) { > - ret = -EIO; > - goto free_hdr; > - } > - > - if (strncmp(header->cybertan.magic, "NL16", 4) != 0) { > - printk(KERN_NOTICE "%s: no WRT160NL signature found\n", > - master->name); > - goto free_hdr; > - } > - > - theader = &header->trx; > - if (le32_to_cpu(theader->magic) != TRX_MAGIC) { > - printk(KERN_NOTICE "%s: no TRX header found\n", master->name); > - goto free_hdr; > - } > - > - uheader = &header->uimage; > - if (uheader->ih_magic != IH_MAGIC) { > - printk(KERN_NOTICE "%s: no uImage found\n", master->name); > - goto free_hdr; > - } > - > - kernel_len = le32_to_cpu(theader->offsets[1]) + > - sizeof(struct cybertan_header); > - > - trx_parts[0].name = "u-boot"; > - trx_parts[0].offset = 0; > - trx_parts[0].size = uboot_len; > - trx_parts[0].mask_flags = MTD_WRITEABLE; > - > - trx_parts[1].name = "kernel"; > - trx_parts[1].offset = trx_parts[0].offset + trx_parts[0].size; > - trx_parts[1].size = kernel_len; > - trx_parts[1].mask_flags = 0; > - > - trx_parts[2].name = "rootfs"; > - trx_parts[2].offset = trx_parts[1].offset + trx_parts[1].size; > - trx_parts[2].size = master->size - uboot_len - nvram_len - art_len - > - trx_parts[1].size; > - trx_parts[2].mask_flags = 0; > - > - trx_parts[3].name = "nvram"; > - trx_parts[3].offset = master->size - nvram_len - art_len; > - trx_parts[3].size = nvram_len; > - trx_parts[3].mask_flags = MTD_WRITEABLE; > - > - trx_parts[4].name = "art"; > - trx_parts[4].offset = master->size - art_len; > - trx_parts[4].size = art_len; > - trx_parts[4].mask_flags = MTD_WRITEABLE; > - > - trx_parts[5].name = "firmware"; > - trx_parts[5].offset = uboot_len; > - trx_parts[5].size = master->size - uboot_len - nvram_len - art_len; > - trx_parts[5].mask_flags = 0; > - > - vfree(header); > - > - *pparts = trx_parts; > - return TRX_PARTS; > - > -free_hdr: > - vfree(header); > -free_parts: > - kfree(trx_parts); > -out: > - return ret; > -} > - > -static struct mtd_part_parser wrt160nl_parser = { > - .owner = THIS_MODULE, > - .parse_fn = wrt160nl_parse_partitions, > - .name = "wrt160nl", > -}; > - > -static int __init wrt160nl_parser_init(void) > -{ > - register_mtd_parser(&wrt160nl_parser); > - > - return 0; > -} > - > -module_init(wrt160nl_parser_init); > - > -MODULE_LICENSE("GPL"); > -MODULE_AUTHOR("Christian Daniel <c...@maintech.de>"); > diff --git > a/target/linux/ar71xx/patches-3.14/404-mtd-cybertan-trx-parser.patch > b/target/linux/ar71xx/patches-3.14/404-mtd-cybertan-trx-parser.patch > new file mode 100644 > index 0000000..678e8d5 > --- /dev/null > +++ b/target/linux/ar71xx/patches-3.14/404-mtd-cybertan-trx-parser.patch > @@ -0,0 +1,26 @@ > +--- a/drivers/mtd/Kconfig > ++++ b/drivers/mtd/Kconfig > +@@ -184,6 +184,13 @@ config MTD_BCM47XX_PARTS > + This provides partitions parser for devices based on BCM47xx > + boards. > + > ++config MTD_CYBERTAN_PARTS > ++ tristate "Cybertan partitioning support" > ++ depends on ATH79 > ++ ---help--- > ++ Cybertan partitioning support > ++ Used by Linksys WRT160NL and WD My Net Wi-fi Range Extender > ++ > + config MTD_MYLOADER_PARTS > + tristate "MyLoader partition parsing" > + depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79 > +--- a/drivers/mtd/Makefile > ++++ b/drivers/mtd/Makefile > +@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o > + obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o > + obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o > + obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o > ++obj-$(CONFIG_MTD_CYBERTAN_PARTS) += cybertan_part.o > + > + # 'Users' - code which presents functionality to userspace. > + obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o > diff --git > a/target/linux/ar71xx/patches-3.14/404-mtd-wrt160nl-trx-parser.patch > b/target/linux/ar71xx/patches-3.14/404-mtd-wrt160nl-trx-parser.patch > deleted file mode 100644 > index e49d72e..0000000 > --- a/target/linux/ar71xx/patches-3.14/404-mtd-wrt160nl-trx-parser.patch > +++ /dev/null > @@ -1,25 +0,0 @@ > ---- a/drivers/mtd/Kconfig > -+++ b/drivers/mtd/Kconfig > -@@ -184,6 +184,12 @@ config MTD_BCM47XX_PARTS > - This provides partitions parser for devices based on BCM47xx > - boards. > - > -+config MTD_WRT160NL_PARTS > -+ tristate "Linksys WRT160NL partitioning support" > -+ depends on MTD_PARTITIONS && ATH79_MACH_WRT160NL > -+ ---help--- > -+ Linksys WRT160NL partitioning support > -+ > - config MTD_MYLOADER_PARTS > - tristate "MyLoader partition parsing" > - depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79 > ---- a/drivers/mtd/Makefile > -+++ b/drivers/mtd/Makefile > -@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o > - obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o > - obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o > - obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o > -+obj-$(CONFIG_MTD_WRT160NL_PARTS) += wrt160nl_part.o > - > - # 'Users' - code which presents functionality to userspace. > - obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o > diff --git > a/target/linux/ar71xx/patches-3.18/404-mtd-cybertan-trx-parser.patch > b/target/linux/ar71xx/patches-3.18/404-mtd-cybertan-trx-parser.patch > new file mode 100644 > index 0000000..678e8d5 > --- /dev/null > +++ b/target/linux/ar71xx/patches-3.18/404-mtd-cybertan-trx-parser.patch > @@ -0,0 +1,26 @@ > +--- a/drivers/mtd/Kconfig > ++++ b/drivers/mtd/Kconfig > +@@ -184,6 +184,13 @@ config MTD_BCM47XX_PARTS > + This provides partitions parser for devices based on BCM47xx > + boards. > + > ++config MTD_CYBERTAN_PARTS > ++ tristate "Cybertan partitioning support" > ++ depends on ATH79 > ++ ---help--- > ++ Cybertan partitioning support > ++ Used by Linksys WRT160NL and WD My-Net Range Extender > ++ > + config MTD_MYLOADER_PARTS > + tristate "MyLoader partition parsing" > + depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79 > +--- a/drivers/mtd/Makefile > ++++ b/drivers/mtd/Makefile > +@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o > + obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o > + obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o > + obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o > ++obj-$(CONFIG_MTD_CYBERTAN_PARTS) += cybertan_part.o > + > + # 'Users' - code which presents functionality to userspace. > + obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o > diff --git > a/target/linux/ar71xx/patches-3.18/404-mtd-wrt160nl-trx-parser.patch > b/target/linux/ar71xx/patches-3.18/404-mtd-wrt160nl-trx-parser.patch > deleted file mode 100644 > index e49d72e..0000000 > --- a/target/linux/ar71xx/patches-3.18/404-mtd-wrt160nl-trx-parser.patch > +++ /dev/null > @@ -1,25 +0,0 @@ > ---- a/drivers/mtd/Kconfig > -+++ b/drivers/mtd/Kconfig > -@@ -184,6 +184,12 @@ config MTD_BCM47XX_PARTS > - This provides partitions parser for devices based on BCM47xx > - boards. > - > -+config MTD_WRT160NL_PARTS > -+ tristate "Linksys WRT160NL partitioning support" > -+ depends on MTD_PARTITIONS && ATH79_MACH_WRT160NL > -+ ---help--- > -+ Linksys WRT160NL partitioning support > -+ > - config MTD_MYLOADER_PARTS > - tristate "MyLoader partition parsing" > - depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79 > ---- a/drivers/mtd/Makefile > -+++ b/drivers/mtd/Makefile > -@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o > - obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o > - obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o > - obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o > -+obj-$(CONFIG_MTD_WRT160NL_PARTS) += wrt160nl_part.o > - > - # 'Users' - code which presents functionality to userspace. > - obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel