2 renesas patches added
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 0000000..4845c1f
--- /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 0000000..27db7d1
--- /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 8c25217..5268f06 100644
--- a/series
+++ b/series
@@ -1004,8 +1004,10 @@
 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
 #
+