aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-10-28 16:49:49 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-10-28 16:50:50 +0800
commit49813f13879460e18e36bf5eda977ff07145dbd9 (patch)
tree4c7494c192e34d49a105e99eb3a954cdbfc1ec20
parent5384c388fa86b9b902b5bc0b28a4c90bb0bd018f (diff)
downloadltsi-kernel-49813f13879460e18e36bf5eda977ff07145dbd9.tar.gz
2 renesas patches added
-rw-r--r--patches.renesas/0001-clk-add-clock-indices-support.patch83
-rw-r--r--patches.renesas/0002-of-fdt-update-of_get_flat_dt_prop-in-prep-for-libfdt.patch526
-rw-r--r--series4
3 files changed, 612 insertions, 1 deletions
diff --git a/patches.renesas/0001-clk-add-clock-indices-support.patch b/patches.renesas/0001-clk-add-clock-indices-support.patch
new file mode 100644
index 00000000000000..4845c1f73d9724
--- /dev/null
+++ b/patches.renesas/0001-clk-add-clock-indices-support.patch
@@ -0,0 +1,83 @@
+From 1dbdf65c300903355ac70b6f22b5d2259f7ae995 Mon Sep 17 00:00:00 2001
+From: Ben Dooks <ben.dooks@codethink.co.uk>
+Date: Thu, 13 Feb 2014 18:02:49 +0000
+Subject: clk: add clock-indices support
+
+Add a property called clock-indices to allow clock-output-names
+to be used where the index used to lookup a clock is not a 1:1
+mapping to the array position in the clock-output-names
+
+Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
+Signed-off-by: Mike Turquette <mturquette@linaro.org>
+(cherry picked from commit 7a0fc1a3df82d29e00b4c9f88a6b37450d6711f1)
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+---
+ Documentation/devicetree/bindings/clock/clock-bindings.txt | 17 +++++++++++
+ drivers/clk/clk.c | 20 ++++++++++++-
+ 2 files changed, 36 insertions(+), 1 deletion(-)
+
+--- a/Documentation/devicetree/bindings/clock/clock-bindings.txt
++++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt
+@@ -44,6 +44,23 @@ For example:
+ clocks by index. The names should reflect the clock output signal
+ names for the device.
+
++clock-indices: If the identifyng number for the clocks in the node
++ is not linear from zero, then the this mapping allows
++ the mapping of identifiers into the clock-output-names
++ array.
++
++For example, if we have two clocks <&oscillator 1> and <&oscillator 3>:
++
++ oscillator {
++ compatible = "myclocktype";
++ #clock-cells = <1>;
++ clock-indices = <1>, <3>;
++ clock-output-names = "clka", "clkb";
++ }
++
++ This ensures we do not have any empty nodes in clock-output-names
++
++
+ ==Clock consumers==
+
+ Required properties:
+--- a/drivers/clk/clk.c
++++ b/drivers/clk/clk.c
+@@ -2501,8 +2501,12 @@ EXPORT_SYMBOL_GPL(of_clk_get_parent_coun
+ const char *of_clk_get_parent_name(struct device_node *np, int index)
+ {
+ struct of_phandle_args clkspec;
++ struct property *prop;
+ const char *clk_name;
++ const __be32 *vp;
++ u32 pv;
+ int rc;
++ int count;
+
+ if (index < 0)
+ return NULL;
+@@ -2512,8 +2516,22 @@ const char *of_clk_get_parent_name(struc
+ if (rc)
+ return NULL;
+
++ index = clkspec.args_count ? clkspec.args[0] : 0;
++ count = 0;
++
++ /* if there is an indices property, use it to transfer the index
++ * specified into an array offset for the clock-output-names property.
++ */
++ of_property_for_each_u32(clkspec.np, "clock-indices", prop, vp, pv) {
++ if (index == pv) {
++ index = count;
++ break;
++ }
++ count++;
++ }
++
+ if (of_property_read_string_index(clkspec.np, "clock-output-names",
+- clkspec.args_count ? clkspec.args[0] : 0,
++ index,
+ &clk_name) < 0)
+ clk_name = clkspec.np->name;
+
diff --git a/patches.renesas/0002-of-fdt-update-of_get_flat_dt_prop-in-prep-for-libfdt.patch b/patches.renesas/0002-of-fdt-update-of_get_flat_dt_prop-in-prep-for-libfdt.patch
new file mode 100644
index 00000000000000..27db7d1537021b
--- /dev/null
+++ b/patches.renesas/0002-of-fdt-update-of_get_flat_dt_prop-in-prep-for-libfdt.patch
@@ -0,0 +1,526 @@
+From 469190ae2117c59a306d47a777e9ce3846acbdec Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Tue, 1 Apr 2014 23:49:03 -0500
+Subject: of/fdt: update of_get_flat_dt_prop in prep for libfdt
+
+Make of_get_flat_dt_prop arguments compatible with libfdt fdt_getprop
+call in preparation to convert FDT code to use libfdt. Make the return
+value const and the property length ptr type an int.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+Tested-by: Michal Simek <michal.simek@xilinx.com>
+Tested-by: Grant Likely <grant.likely@linaro.org>
+Tested-by: Stephen Chivers <schivers@csc.com>
+(cherry picked from commit 9d0c4dfedd96ee54fc075b16d02f82499c8cc3a6)
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+
+Conflicts:
+ arch/arm/plat-samsung/s5p-dev-mfc.c
+ arch/powerpc/platforms/powernv/opal.c
+ drivers/of/fdt.c
+ drivers/of/of_reserved_mem.c
+---
+ arch/arc/kernel/devtree.c | 2 +-
+ arch/arm/kernel/devtree.c | 2 +-
+ arch/arm/mach-exynos/common.c | 2 +-
+ arch/arm/mach-vexpress/platsmp.c | 2 +-
+ arch/arm/plat-samsung/s5p-dev-mfc.c | 4 ++--
+ arch/microblaze/kernel/prom.c | 8 ++++----
+ arch/powerpc/kernel/epapr_paravirt.c | 2 +-
+ arch/powerpc/kernel/fadump.c | 4 ++--
+ arch/powerpc/kernel/prom.c | 24 +++++++++++++-----------
+ arch/powerpc/kernel/rtas.c | 2 +-
+ arch/powerpc/mm/hash_utils_64.c | 22 +++++++++++-----------
+ arch/powerpc/platforms/52xx/efika.c | 4 ++--
+ arch/powerpc/platforms/chrp/setup.c | 4 ++--
+ arch/powerpc/platforms/powernv/opal.c | 8 ++++----
+ arch/powerpc/platforms/pseries/setup.c | 4 ++--
+ arch/xtensa/kernel/setup.c | 2 +-
+ drivers/of/fdt.c | 33 +++++++++++++++++----------------
+ include/linux/of_fdt.h | 8 ++++----
+ 18 files changed, 70 insertions(+), 67 deletions(-)
+
+--- a/arch/arc/kernel/devtree.c
++++ b/arch/arc/kernel/devtree.c
+@@ -42,7 +42,7 @@ const struct machine_desc * __init setup
+ const struct machine_desc *mdesc;
+ unsigned long dt_root;
+ void *clk;
+- unsigned long len;
++ int len;
+
+ if (!early_init_dt_scan(dt))
+ return NULL;
+--- a/arch/arm/kernel/devtree.c
++++ b/arch/arm/kernel/devtree.c
+@@ -212,7 +212,7 @@ const struct machine_desc * __init setup
+
+ if (!mdesc) {
+ const char *prop;
+- long size;
++ int size;
+ unsigned long dt_root;
+
+ early_print("\nError: unrecognized/unsupported "
+--- a/arch/arm/mach-exynos/common.c
++++ b/arch/arm/mach-exynos/common.c
+@@ -322,7 +322,7 @@ static int __init exynos_fdt_map_chipid(
+ {
+ struct map_desc iodesc;
+ __be32 *reg;
+- unsigned long len;
++ int len;
+
+ if (!of_flat_dt_is_compatible(node, "samsung,exynos4210-chipid") &&
+ !of_flat_dt_is_compatible(node, "samsung,exynos5440-clock"))
+--- a/arch/arm/mach-vexpress/platsmp.c
++++ b/arch/arm/mach-vexpress/platsmp.c
+@@ -53,7 +53,7 @@ static int __init vexpress_dt_find_scu(u
+ {
+ if (of_flat_dt_match(node, vexpress_dt_cortex_a9_match)) {
+ phys_addr_t phys_addr;
+- __be32 *reg = of_get_flat_dt_prop(node, "reg", NULL);
++ const __be32 *reg = of_get_flat_dt_prop(node, "reg", NULL);
+
+ if (WARN_ON(!reg))
+ return -EINVAL;
+--- a/arch/arm/plat-samsung/s5p-dev-mfc.c
++++ b/arch/arm/plat-samsung/s5p-dev-mfc.c
+@@ -125,8 +125,8 @@ device_initcall(s5p_mfc_memory_init);
+ int __init s5p_fdt_find_mfc_mem(unsigned long node, const char *uname,
+ int depth, void *data)
+ {
+- __be32 *prop;
+- unsigned long len;
++ const __be32 *prop;
++ int len;
+ struct s5p_mfc_dt_meminfo *mfc_mem = data;
+
+ if (!data)
+--- a/arch/microblaze/kernel/prom.c
++++ b/arch/microblaze/kernel/prom.c
+@@ -43,13 +43,13 @@
+ #include <asm/pci-bridge.h>
+
+ #ifdef CONFIG_EARLY_PRINTK
+-static char *stdout;
++static const char *stdout;
+
+ static int __init early_init_dt_scan_chosen_serial(unsigned long node,
+ const char *uname, int depth, void *data)
+ {
+- unsigned long l;
+- char *p;
++ int l;
++ const char *p;
+
+ pr_debug("%s: depth: %d, uname: %s\n", __func__, depth, uname);
+
+@@ -80,7 +80,7 @@ static int __init early_init_dt_scan_cho
+ (strncmp(p, "xlnx,opb-uartlite", 17) == 0) ||
+ (strncmp(p, "xlnx,axi-uartlite", 17) == 0) ||
+ (strncmp(p, "xlnx,mdm", 8) == 0)) {
+- unsigned int *addrp;
++ const unsigned int *addrp;
+
+ *(u32 *)data = UARTLITE;
+
+--- a/arch/powerpc/kernel/epapr_paravirt.c
++++ b/arch/powerpc/kernel/epapr_paravirt.c
+@@ -36,7 +36,7 @@ static int __init early_init_dt_scan_epa
+ int depth, void *data)
+ {
+ const u32 *insts;
+- unsigned long len;
++ int len;
+ int i;
+
+ insts = of_get_flat_dt_prop(node, "hcall-instructions", &len);
+--- a/arch/powerpc/kernel/fadump.c
++++ b/arch/powerpc/kernel/fadump.c
+@@ -55,9 +55,9 @@ int crash_mem_ranges;
+ int __init early_init_dt_scan_fw_dump(unsigned long node,
+ const char *uname, int depth, void *data)
+ {
+- __be32 *sections;
++ const __be32 *sections;
+ int i, num_sections;
+- unsigned long size;
++ int size;
+ const int *token;
+
+ if (depth != 1 || strcmp(uname, "rtas") != 0)
+--- a/arch/powerpc/kernel/prom.c
++++ b/arch/powerpc/kernel/prom.c
+@@ -162,7 +162,7 @@ static struct ibm_pa_feature {
+ {CPU_FTR_REAL_LE, PPC_FEATURE_TRUE_LE, 5, 0, 0},
+ };
+
+-static void __init scan_features(unsigned long node, unsigned char *ftrs,
++static void __init scan_features(unsigned long node, const unsigned char *ftrs,
+ unsigned long tablelen,
+ struct ibm_pa_feature *fp,
+ unsigned long ft_size)
+@@ -201,8 +201,8 @@ static void __init scan_features(unsigne
+
+ static void __init check_cpu_pa_features(unsigned long node)
+ {
+- unsigned char *pa_ftrs;
+- unsigned long tablelen;
++ const unsigned char *pa_ftrs;
++ int tablelen;
+
+ pa_ftrs = of_get_flat_dt_prop(node, "ibm,pa-features", &tablelen);
+ if (pa_ftrs == NULL)
+@@ -215,7 +215,7 @@ static void __init check_cpu_pa_features
+ #ifdef CONFIG_PPC_STD_MMU_64
+ static void __init check_cpu_slb_size(unsigned long node)
+ {
+- __be32 *slb_size_ptr;
++ const __be32 *slb_size_ptr;
+
+ slb_size_ptr = of_get_flat_dt_prop(node, "slb-size", NULL);
+ if (slb_size_ptr != NULL) {
+@@ -256,7 +256,7 @@ static struct feature_property {
+ static inline void identical_pvr_fixup(unsigned long node)
+ {
+ unsigned int pvr;
+- char *model = of_get_flat_dt_prop(node, "model", NULL);
++ const char *model = of_get_flat_dt_prop(node, "model", NULL);
+
+ /*
+ * Since 440GR(x)/440EP(x) processors have the same pvr,
+@@ -294,11 +294,11 @@ static int __init early_init_dt_scan_cpu
+ const char *uname, int depth,
+ void *data)
+ {
+- char *type = of_get_flat_dt_prop(node, "device_type", NULL);
++ const char *type = of_get_flat_dt_prop(node, "device_type", NULL);
+ const __be32 *prop;
+ const __be32 *intserv;
+ int i, nthreads;
+- unsigned long len;
++ int len;
+ int found = -1;
+ int found_thread = 0;
+
+@@ -391,7 +391,7 @@ static int __init early_init_dt_scan_cpu
+ int __init early_init_dt_scan_chosen_ppc(unsigned long node, const char *uname,
+ int depth, void *data)
+ {
+- unsigned long *lprop; /* All these set by kernel, so no need to convert endian */
++ const unsigned long *lprop; /* All these set by kernel, so no need to convert endian */
+
+ /* Use common scan routine to determine if this is the chosen node */
+ if (early_init_dt_scan_chosen(node, uname, depth, data) == 0)
+@@ -442,8 +442,9 @@ int __init early_init_dt_scan_chosen_ppc
+ */
+ static int __init early_init_dt_scan_drconf_memory(unsigned long node)
+ {
+- __be32 *dm, *ls, *usm;
+- unsigned long l, n, flags;
++ const __be32 *dm, *ls, *usm;
++ int l;
++ unsigned long n, flags;
+ u64 base, size, memblock_size;
+ unsigned int is_kexec_kdump = 0, rngs;
+
+@@ -563,7 +564,8 @@ void __init early_init_dt_add_memory_arc
+
+ static void __init early_reserve_mem_dt(void)
+ {
+- unsigned long i, len, dt_root;
++ unsigned long i, dt_root;
++ int len;
+ const __be32 *prop;
+
+ dt_root = of_get_flat_dt_root();
+--- a/arch/powerpc/kernel/rtas.c
++++ b/arch/powerpc/kernel/rtas.c
+@@ -1135,7 +1135,7 @@ void __init rtas_initialize(void)
+ int __init early_init_dt_scan_rtas(unsigned long node,
+ const char *uname, int depth, void *data)
+ {
+- u32 *basep, *entryp, *sizep;
++ const u32 *basep, *entryp, *sizep;
+
+ if (depth != 1 || strcmp(uname, "rtas") != 0)
+ return 0;
+--- a/arch/powerpc/mm/hash_utils_64.c
++++ b/arch/powerpc/mm/hash_utils_64.c
+@@ -265,9 +265,9 @@ static int __init htab_dt_scan_seg_sizes
+ const char *uname, int depth,
+ void *data)
+ {
+- char *type = of_get_flat_dt_prop(node, "device_type", NULL);
+- __be32 *prop;
+- unsigned long size = 0;
++ const char *type = of_get_flat_dt_prop(node, "device_type", NULL);
++ const __be32 *prop;
++ int size = 0;
+
+ /* We are scanning "cpu" nodes only */
+ if (type == NULL || strcmp(type, "cpu") != 0)
+@@ -320,9 +320,9 @@ static int __init htab_dt_scan_page_size
+ const char *uname, int depth,
+ void *data)
+ {
+- char *type = of_get_flat_dt_prop(node, "device_type", NULL);
+- __be32 *prop;
+- unsigned long size = 0;
++ const char *type = of_get_flat_dt_prop(node, "device_type", NULL);
++ const __be32 *prop;
++ int size = 0;
+
+ /* We are scanning "cpu" nodes only */
+ if (type == NULL || strcmp(type, "cpu") != 0)
+@@ -402,9 +402,9 @@ static int __init htab_dt_scan_page_size
+ static int __init htab_dt_scan_hugepage_blocks(unsigned long node,
+ const char *uname, int depth,
+ void *data) {
+- char *type = of_get_flat_dt_prop(node, "device_type", NULL);
+- __be64 *addr_prop;
+- __be32 *page_count_prop;
++ const char *type = of_get_flat_dt_prop(node, "device_type", NULL);
++ const __be64 *addr_prop;
++ const __be32 *page_count_prop;
+ unsigned int expected_pages;
+ long unsigned int phys_addr;
+ long unsigned int block_size;
+@@ -546,8 +546,8 @@ static int __init htab_dt_scan_pftsize(u
+ const char *uname, int depth,
+ void *data)
+ {
+- char *type = of_get_flat_dt_prop(node, "device_type", NULL);
+- __be32 *prop;
++ const char *type = of_get_flat_dt_prop(node, "device_type", NULL);
++ const __be32 *prop;
+
+ /* We are scanning "cpu" nodes only */
+ if (type == NULL || strcmp(type, "cpu") != 0)
+--- a/arch/powerpc/platforms/52xx/efika.c
++++ b/arch/powerpc/platforms/52xx/efika.c
+@@ -199,8 +199,8 @@ static void __init efika_setup_arch(void
+
+ static int __init efika_probe(void)
+ {
+- char *model = of_get_flat_dt_prop(of_get_flat_dt_root(),
+- "model", NULL);
++ const char *model = of_get_flat_dt_prop(of_get_flat_dt_root(),
++ "model", NULL);
+
+ if (model == NULL)
+ return 0;
+--- a/arch/powerpc/platforms/chrp/setup.c
++++ b/arch/powerpc/platforms/chrp/setup.c
+@@ -574,8 +574,8 @@ chrp_init2(void)
+
+ static int __init chrp_probe(void)
+ {
+- char *dtype = of_get_flat_dt_prop(of_get_flat_dt_root(),
+- "device_type", NULL);
++ const char *dtype = of_get_flat_dt_prop(of_get_flat_dt_root(),
++ "device_type", NULL);
+ if (dtype == NULL)
+ return 0;
+ if (strcmp(dtype, "chrp"))
+--- a/arch/powerpc/platforms/powernv/opal.c
++++ b/arch/powerpc/platforms/powernv/opal.c
+@@ -50,7 +50,7 @@ int __init early_init_dt_scan_opal(unsig
+ const char *uname, int depth, void *data)
+ {
+ const void *basep, *entryp;
+- unsigned long basesz, entrysz;
++ int basesz, entrysz;
+
+ if (depth != 1 || strcmp(uname, "ibm,opal") != 0)
+ return 0;
+@@ -64,9 +64,9 @@ int __init early_init_dt_scan_opal(unsig
+ opal.base = of_read_number(basep, basesz/4);
+ opal.entry = of_read_number(entryp, entrysz/4);
+
+- pr_debug("OPAL Base = 0x%llx (basep=%p basesz=%ld)\n",
++ pr_debug("OPAL Base = 0x%llx (basep=%p basesz=%d)\n",
+ opal.base, basep, basesz);
+- pr_debug("OPAL Entry = 0x%llx (entryp=%p basesz=%ld)\n",
++ pr_debug("OPAL Entry = 0x%llx (entryp=%p basesz=%d)\n",
+ opal.entry, entryp, entrysz);
+
+ powerpc_firmware_features |= FW_FEATURE_OPAL;
+@@ -269,7 +269,7 @@ int opal_get_chars(uint32_t vtermno, cha
+ if ((be64_to_cpu(evt) & OPAL_EVENT_CONSOLE_INPUT) == 0)
+ return 0;
+ len = cpu_to_be64(count);
+- rc = opal_console_read(vtermno, &len, buf);
++ rc = opal_console_read(vtermno, &len, buf);
+ if (rc == OPAL_SUCCESS)
+ return be64_to_cpu(len);
+ return 0;
+--- a/arch/powerpc/platforms/pseries/setup.c
++++ b/arch/powerpc/platforms/pseries/setup.c
+@@ -671,7 +671,7 @@ static int __init pseries_probe_fw_featu
+ void *data)
+ {
+ const char *prop;
+- unsigned long len;
++ int len;
+ static int hypertas_found;
+ static int vec5_found;
+
+@@ -704,7 +704,7 @@ static int __init pseries_probe_fw_featu
+ static int __init pSeries_probe(void)
+ {
+ unsigned long root = of_get_flat_dt_root();
+- char *dtype = of_get_flat_dt_prop(root, "device_type", NULL);
++ const char *dtype = of_get_flat_dt_prop(root, "device_type", NULL);
+
+ if (dtype == NULL)
+ return 0;
+--- a/arch/xtensa/kernel/setup.c
++++ b/arch/xtensa/kernel/setup.c
+@@ -221,7 +221,7 @@ static int __init xtensa_dt_io_area(unsi
+ int depth, void *data)
+ {
+ const __be32 *ranges;
+- unsigned long len;
++ int len;
+
+ if (depth > 1)
+ return 0;
+--- a/drivers/of/fdt.c
++++ b/drivers/of/fdt.c
+@@ -38,7 +38,7 @@ char *of_fdt_get_string(struct boot_para
+ */
+ void *of_fdt_get_property(struct boot_param_header *blob,
+ unsigned long node, const char *name,
+- unsigned long *size)
++ int *size)
+ {
+ unsigned long p = node;
+
+@@ -88,7 +88,8 @@ int of_fdt_is_compatible(struct boot_par
+ unsigned long node, const char *compat)
+ {
+ const char *cp;
+- unsigned long cplen, l, score = 0;
++ int cplen;
++ unsigned long l, score = 0;
+
+ cp = of_fdt_get_property(blob, node, "compatible", &cplen);
+ if (cp == NULL)
+@@ -518,8 +519,8 @@ unsigned long __init of_get_flat_dt_root
+ * This function can be used within scan_flattened_dt callback to get
+ * access to properties
+ */
+-void *__init of_get_flat_dt_prop(unsigned long node, const char *name,
+- unsigned long *size)
++const void *__init of_get_flat_dt_prop(unsigned long node, const char *name,
++ int *size)
+ {
+ return of_fdt_get_property(initial_boot_params, node, name, size);
+ }
+@@ -657,7 +658,7 @@ const void * __init of_flat_dt_match_mac
+ }
+ if (!best_data) {
+ const char *prop;
+- long size;
++ int size;
+
+ pr_err("\n unrecognized device tree list:\n[ ");
+
+@@ -686,8 +687,8 @@ const void * __init of_flat_dt_match_mac
+ static void __init early_init_dt_check_for_initrd(unsigned long node)
+ {
+ u64 start, end;
+- unsigned long len;
+- __be32 *prop;
++ int len;
++ const __be32 *prop;
+
+ pr_debug("Looking for initrd properties... ");
+
+@@ -720,7 +721,7 @@ static inline void early_init_dt_check_f
+ int __init early_init_dt_scan_root(unsigned long node, const char *uname,
+ int depth, void *data)
+ {
+- __be32 *prop;
++ const __be32 *prop;
+
+ if (depth != 0)
+ return 0;
+@@ -742,9 +743,9 @@ int __init early_init_dt_scan_root(unsig
+ return 1;
+ }
+
+-u64 __init dt_mem_next_cell(int s, __be32 **cellp)
++u64 __init dt_mem_next_cell(int s, const __be32 **cellp)
+ {
+- __be32 *p = *cellp;
++ const __be32 *p = *cellp;
+
+ *cellp = p + s;
+ return of_read_number(p, s);
+@@ -756,9 +757,9 @@ u64 __init dt_mem_next_cell(int s, __be3
+ int __init early_init_dt_scan_memory(unsigned long node, const char *uname,
+ int depth, void *data)
+ {
+- char *type = of_get_flat_dt_prop(node, "device_type", NULL);
+- __be32 *reg, *endp;
+- unsigned long l;
++ const char *type = of_get_flat_dt_prop(node, "device_type", NULL);
++ const __be32 *reg, *endp;
++ int l;
+
+ /* We are scanning "memory" nodes only */
+ if (type == NULL) {
+@@ -779,7 +780,7 @@ int __init early_init_dt_scan_memory(uns
+
+ endp = reg + (l / sizeof(__be32));
+
+- pr_debug("memory scan node %s, reg size %ld, data: %x %x %x %x,\n",
++ pr_debug("memory scan node %s, reg size %d, data: %x %x %x %x,\n",
+ uname, l, reg[0], reg[1], reg[2], reg[3]);
+
+ while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) {
+@@ -802,8 +803,8 @@ int __init early_init_dt_scan_memory(uns
+ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
+ int depth, void *data)
+ {
+- unsigned long l;
+- char *p;
++ int l;
++ const char *p;
+
+ pr_debug("search \"chosen\", depth: %d, uname: %s\n", depth, uname);
+
+--- a/include/linux/of_fdt.h
++++ b/include/linux/of_fdt.h
+@@ -66,7 +66,7 @@ extern char *of_fdt_get_string(struct bo
+ extern void *of_fdt_get_property(struct boot_param_header *blob,
+ unsigned long node,
+ const char *name,
+- unsigned long *size);
++ int *size);
+ extern int of_fdt_is_compatible(struct boot_param_header *blob,
+ unsigned long node,
+ const char *compat);
+@@ -85,8 +85,8 @@ extern char *find_flat_dt_string(u32 off
+ extern int of_scan_flat_dt(int (*it)(unsigned long node, const char *uname,
+ int depth, void *data),
+ void *data);
+-extern void *of_get_flat_dt_prop(unsigned long node, const char *name,
+- unsigned long *size);
++extern const void *of_get_flat_dt_prop(unsigned long node, const char *name,
++ int *size);
+ extern int of_flat_dt_is_compatible(unsigned long node, const char *name);
+ extern int of_flat_dt_match(unsigned long node, const char *const *matches);
+ extern unsigned long of_get_flat_dt_root(void);
+@@ -100,7 +100,7 @@ extern int early_init_dt_scan_memory(uns
+ int depth, void *data);
+ extern void early_init_dt_add_memory_arch(u64 base, u64 size);
+ extern void * early_init_dt_alloc_memory_arch(u64 size, u64 align);
+-extern u64 dt_mem_next_cell(int s, __be32 **cellp);
++extern u64 dt_mem_next_cell(int s, const __be32 **cellp);
+
+ /* Early flat tree scan hooks */
+ extern int early_init_dt_scan_root(unsigned long node, const char *uname,
diff --git a/series b/series
index 8c25217e681206..5268f06bf2478f 100644
--- a/series
+++ b/series
@@ -1004,8 +1004,10 @@ patches.renesas/0970-usb-renesas_usbhs-protect-mod-irq_-bemp-brdy-sts-by-.patch
patches.renesas/0971-usb-renesas_usbhs-fix-the-condition-of-is_done-in-us.patch
patches.renesas/0972-usb-renesas_usbhs-fix-the-usb_pkt_pop.patch
patches.renesas/0973-i2c-rcar-fix-RCAR_IRQ_ACK_-RECV-SEND.patch
-
+patches.renesas/0001-clk-add-clock-indices-support.patch
+patches.renesas/0002-of-fdt-update-of_get_flat_dt_prop-in-prep-for-libfdt.patch
#############################################################################
# fixes that go after all of the above
#
+