From patchwork Fri Mar 6 18:48:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Christian Lamparter X-Patchwork-Id: 447397 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id B166C14010F for ; Sat, 7 Mar 2015 05:48:51 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="verification failed; unprotected key" header.d=googlemail.com header.i=@googlemail.com header.b=D5iqzzqU; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 3BA2928443B; Fri, 6 Mar 2015 19:48:28 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id BC9E028443B for ; Fri, 6 Mar 2015 19:48:18 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .googlemail. - helo: .mail-wg0-f48.google. - helo-domain: .google.) FROM/MX_MATCHES_HELO(DOMAIN)=-2; rate: -8.5 Received: from mail-wg0-f48.google.com (mail-wg0-f48.google.com [74.125.82.48]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Fri, 6 Mar 2015 19:48:18 +0100 (CET) Received: by wggz12 with SMTP id z12so24806292wgg.9 for ; Fri, 06 Mar 2015 10:48:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:date:message-id:user-agent:mime-version :content-transfer-encoding:content-type; bh=f2FbY871iHKnvy48Bfd+MHnlsdImGmFhpIO2tAomFlE=; b=D5iqzzqUTfoRk4ARp/GgYdQwqC/bsRr2DaaaqBgiC2aHjW2ziilKhJIoYELyUuMFkm KzIYimutDz7capOMZ+Dkw1abTqWh+HAvuhsfN2dE3I+vVjHpZy6ltfSDAA1yX7fhTpG/ d3cN6BgAiC85DdXxjpo/jELIhLgCJyo++krMM6fcOJI4nzf8jrgNt45xg2CXOXhkuGz1 KBkiPXfnPET27anQKT17MEMikUhjmexAHzJcl650tw3eTAn8xh/RwiXhf5wZU7Ne8UM/ JurIOih1ceNZmXFmumlucm/ogPWlI4Oxn5jEF9q0xHmXtggf8+JgkHBfqyMpN6ONYOYs 2hiw== X-Received: by 10.194.239.134 with SMTP id vs6mr19431015wjc.158.1425667715359; Fri, 06 Mar 2015 10:48:35 -0800 (PST) Received: from debian64.daheim (pD9F8B192.dip0.t-ipconnect.de. [217.248.177.146]) by mx.google.com with ESMTPSA id v16sm3401604wib.5.2015.03.06.10.48.30 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2015 10:48:34 -0800 (PST) Received: from localhost.daheim ([127.0.0.1] helo=debian64.localnet) by debian64.daheim with esmtps (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1YTxIS-0004Gm-In; Fri, 06 Mar 2015 19:48:28 +0100 From: Christian Lamparter To: openwrt-devel@lists.openwrt.org Date: Fri, 06 Mar 2015 19:48:28 +0100 Message-ID: <52809646.DYL3BQ9qvY@debian64> User-Agent: KMail/4.14.2 (Linux/4.0.0-rc1-wl+; KDE/4.14.2; x86_64; ; ) MIME-Version: 1.0 Subject: [OpenWrt-Devel] [PATCH 2/4] ar71xx: rename wrt160nl's trx partition parser X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" This patch renames the partition parser from wrt160nl to more generic cybertan. Signed-off-by: Christian Lamparter --- 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 | 207 +++++++++++++++++++++ .../linux/ar71xx/files/drivers/mtd/wrt160nl_part.c | 207 --------------------- .../patches-3.14/404-mtd-cybertan-trx-parser.patch | 25 +++ .../patches-3.14/404-mtd-wrt160nl-trx-parser.patch | 25 --- .../405-mtd-tp-link-partition-parser.patch | 2 +- .../patches-3.18/404-mtd-cybertan-trx-parser.patch | 25 +++ .../patches-3.18/404-mtd-wrt160nl-trx-parser.patch | 25 --- .../405-mtd-tp-link-partition-parser.patch | 2 +- 11 files changed, 262 insertions(+), 262 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 ec98767..e4e598f 100644 --- a/target/linux/ar71xx/config-3.14 +++ b/target/linux/ar71xx/config-3.14 @@ -254,7 +254,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 f881a29..5c25f32 100644 --- a/target/linux/ar71xx/config-3.18 +++ b/target/linux/ar71xx/config-3.18 @@ -257,7 +257,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..372ab51 --- /dev/null +++ b/target/linux/ar71xx/files/drivers/mtd/cybertan_part.c @@ -0,0 +1,207 @@ +/* + * Copyright (C) 2009 Christian Daniel + * Copyright (C) 2009 Gabor Juhos + * + * 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 + * + */ + +#include +#include +#include +#include + +#include +#include + +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; + } + + 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 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 "); 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 - * Copyright (C) 2009 Gabor Juhos - * - * 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 - * - */ - -#include -#include -#include -#include - -#include -#include - -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 "); 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..7995abb --- /dev/null +++ b/target/linux/ar71xx/patches-3.14/404-mtd-cybertan-trx-parser.patch @@ -0,0 +1,25 @@ +--- 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_CYBERTAN_PARTS ++ tristate "Cybertan partitioning support" ++ depends on ATH79 ++ ---help--- ++ Cybertan 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_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 b5f4b52..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 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.14/405-mtd-tp-link-partition-parser.patch b/target/linux/ar71xx/patches-3.14/405-mtd-tp-link-partition-parser.patch index 74e79ea..c43c505 100644 --- a/target/linux/ar71xx/patches-3.14/405-mtd-tp-link-partition-parser.patch +++ b/target/linux/ar71xx/patches-3.14/405-mtd-tp-link-partition-parser.patch @@ -20,6 +20,6 @@ obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o +obj-$(CONFIG_MTD_TPLINK_PARTS) += tplinkpart.o - obj-$(CONFIG_MTD_WRT160NL_PARTS) += wrt160nl_part.o + obj-$(CONFIG_MTD_WRT160NL_PARTS) += cybertan_part.o # 'Users' - code which presents functionality to userspace. 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..7995abb --- /dev/null +++ b/target/linux/ar71xx/patches-3.18/404-mtd-cybertan-trx-parser.patch @@ -0,0 +1,25 @@ +--- 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_CYBERTAN_PARTS ++ tristate "Cybertan partitioning support" ++ depends on ATH79 ++ ---help--- ++ Cybertan 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_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 b5f4b52..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 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/405-mtd-tp-link-partition-parser.patch b/target/linux/ar71xx/patches-3.18/405-mtd-tp-link-partition-parser.patch index 74e79ea..11a9beb 100644 --- a/target/linux/ar71xx/patches-3.18/405-mtd-tp-link-partition-parser.patch +++ b/target/linux/ar71xx/patches-3.18/405-mtd-tp-link-partition-parser.patch @@ -20,6 +20,6 @@ obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o +obj-$(CONFIG_MTD_TPLINK_PARTS) += tplinkpart.o - obj-$(CONFIG_MTD_WRT160NL_PARTS) += wrt160nl_part.o + obj-$(CONFIG_MTD_CYBERTAN_PARTS) += cybertan_part.o # 'Users' - code which presents functionality to userspace.