aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-02-11 10:09:23 +0000
committerJohn Crispin <john@openwrt.org>2015-02-11 10:09:23 +0000
commit88ddb3746188037afd38d631f7a893587fa8bdf0 (patch)
treedf4684db63441435126c4b6ff1fda4ce615e1ff0 /target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
parentddcbef5766fa18f52e7a7d1928b25edc63e73937 (diff)
downloadupstream-88ddb3746188037afd38d631f7a893587fa8bdf0.tar.gz
upstream-88ddb3746188037afd38d631f7a893587fa8bdf0.tar.bz2
upstream-88ddb3746188037afd38d631f7a893587fa8bdf0.zip
ipq806x: update target to v3.18
Patches in the ipq806x/patches folder were out of tree in v3.14. The newest patch at the time was from June, so we can safely assume that either the patches have been merged, or they have been rejected for a good reason. If patches are seen missing, we'll cherry-pick them on a per-needed basis. This new kernel have been tested on AP148, which seems to works fine. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> SVN-Revision: 44386
Diffstat (limited to 'target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch')
-rw-r--r--target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch147
1 files changed, 0 insertions, 147 deletions
diff --git a/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch b/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
deleted file mode 100644
index 48ad8ac835..0000000000
--- a/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From fc9e25ed9db2fcfbf16a9cbbf5a1f449da78f1d9 Mon Sep 17 00:00:00 2001
-From: Marek Szyprowski <m.szyprowski@samsung.com>
-Date: Fri, 28 Feb 2014 14:42:49 +0100
-Subject: [PATCH 051/182] drivers: of: add support for custom reserved memory
- drivers
-
-Add support for custom reserved memory drivers. Call their init() function
-for each reserved region and prepare for using operations provided by them
-with by the reserved_mem->ops array.
-
-Based on previous code provided by Josh Cartwright <joshc@codeaurora.org>
-
-Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
-Signed-off-by: Grant Likely <grant.likely@linaro.org>
----
- drivers/of/of_reserved_mem.c | 29 +++++++++++++++++++++++++++++
- include/asm-generic/vmlinux.lds.h | 11 +++++++++++
- include/linux/of_reserved_mem.h | 32 ++++++++++++++++++++++++++++++++
- 3 files changed, 72 insertions(+)
-
---- a/drivers/of/of_reserved_mem.c
-+++ b/drivers/of/of_reserved_mem.c
-@@ -170,6 +170,33 @@ static int __init __reserved_mem_alloc_s
- return 0;
- }
-
-+static const struct of_device_id __rmem_of_table_sentinel
-+ __used __section(__reservedmem_of_table_end);
-+
-+/**
-+ * res_mem_init_node() - call region specific reserved memory init code
-+ */
-+static int __init __reserved_mem_init_node(struct reserved_mem *rmem)
-+{
-+ extern const struct of_device_id __reservedmem_of_table[];
-+ const struct of_device_id *i;
-+
-+ for (i = __reservedmem_of_table; i < &__rmem_of_table_sentinel; i++) {
-+ reservedmem_of_init_fn initfn = i->data;
-+ const char *compat = i->compatible;
-+
-+ if (!of_flat_dt_is_compatible(rmem->fdt_node, compat))
-+ continue;
-+
-+ if (initfn(rmem, rmem->fdt_node, rmem->name) == 0) {
-+ pr_info("Reserved memory: initialized node %s, compatible id %s\n",
-+ rmem->name, compat);
-+ return 0;
-+ }
-+ }
-+ return -ENOENT;
-+}
-+
- /**
- * fdt_init_reserved_mem - allocate and init all saved reserved memory regions
- */
-@@ -184,5 +211,7 @@ void __init fdt_init_reserved_mem(void)
- if (rmem->size == 0)
- err = __reserved_mem_alloc_size(node, rmem->name,
- &rmem->base, &rmem->size);
-+ if (err == 0)
-+ __reserved_mem_init_node(rmem);
- }
- }
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -177,6 +177,16 @@
- #define CLK_OF_TABLES()
- #endif
-
-+#ifdef CONFIG_OF_RESERVED_MEM
-+#define RESERVEDMEM_OF_TABLES() \
-+ . = ALIGN(8); \
-+ VMLINUX_SYMBOL(__reservedmem_of_table) = .; \
-+ *(__reservedmem_of_table) \
-+ *(__reservedmem_of_table_end)
-+#else
-+#define RESERVEDMEM_OF_TABLES()
-+#endif
-+
- #ifdef CONFIG_SMP
- #define CPU_METHOD_OF_TABLES() . = ALIGN(8); \
- VMLINUX_SYMBOL(__cpu_method_of_table_begin) = .; \
-@@ -510,6 +520,7 @@
- TRACE_SYSCALLS() \
- MEM_DISCARD(init.rodata) \
- CLK_OF_TABLES() \
-+ RESERVEDMEM_OF_TABLES() \
- CLKSRC_OF_TABLES() \
- CPU_METHOD_OF_TABLES() \
- KERNEL_DTB() \
---- a/include/linux/of_reserved_mem.h
-+++ b/include/linux/of_reserved_mem.h
-@@ -1,21 +1,53 @@
- #ifndef __OF_RESERVED_MEM_H
- #define __OF_RESERVED_MEM_H
-
-+struct device;
-+struct of_phandle_args;
-+struct reserved_mem_ops;
-+
- struct reserved_mem {
- const char *name;
- unsigned long fdt_node;
-+ const struct reserved_mem_ops *ops;
- phys_addr_t base;
- phys_addr_t size;
-+ void *priv;
-+};
-+
-+struct reserved_mem_ops {
-+ void (*device_init)(struct reserved_mem *rmem,
-+ struct device *dev);
-+ void (*device_release)(struct reserved_mem *rmem,
-+ struct device *dev);
- };
-
-+typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem,
-+ unsigned long node, const char *uname);
-+
- #ifdef CONFIG_OF_RESERVED_MEM
- void fdt_init_reserved_mem(void);
- void fdt_reserved_mem_save_node(unsigned long node, const char *uname,
- phys_addr_t base, phys_addr_t size);
-+
-+#define RESERVEDMEM_OF_DECLARE(name, compat, init) \
-+ static const struct of_device_id __reservedmem_of_table_##name \
-+ __used __section(__reservedmem_of_table) \
-+ = { .compatible = compat, \
-+ .data = (init == (reservedmem_of_init_fn)NULL) ? \
-+ init : init }
-+
- #else
- static inline void fdt_init_reserved_mem(void) { }
- static inline void fdt_reserved_mem_save_node(unsigned long node,
- const char *uname, phys_addr_t base, phys_addr_t size) { }
-+
-+#define RESERVEDMEM_OF_DECLARE(name, compat, init) \
-+ static const struct of_device_id __reservedmem_of_table_##name \
-+ __attribute__((unused)) \
-+ = { .compatible = compat, \
-+ .data = (init == (reservedmem_of_init_fn)NULL) ? \
-+ init : init }
-+
- #endif
-
- #endif /* __OF_RESERVED_MEM_H */