All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Herrmann <herrmann.der.user@googlemail.com>
To: Rob Herring <robherring2@gmail.com>
Cc: linux-kernel@vger.kernel.org,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <robh@kernel.org>, Ralf Baechle <ralf@linux-mips.org>,
	linux-mips@linux-mips.org, David Daney <ddaney.cavm@gmail.com>
Subject: Re: [PATCH 01/20] mips: octeon: convert to use unflatten_and_copy_device_tree
Date: Mon, 7 Apr 2014 19:46:17 +0200	[thread overview]
Message-ID: <20140407174617.GA12379@alberich> (raw)
In-Reply-To: <1396563423-30893-2-git-send-email-robherring2@gmail.com>

On Thu, Apr 03, 2014 at 05:16:44PM -0500, Rob Herring wrote:
> From: Rob Herring <robh@kernel.org>
> 
> The octeon FDT code can be simplified by using
> unflatten_and_copy_device_tree function. This removes all accesses to
> FDT header data by the arch code.

Hi Rob,

I think (in general) this modification is ok. But I suggest to use
following (slightly modified) version.


Thanks,

Andreas

-- 8< --
Subject: MIPS: Octeon: Convert to use unflatten_and_copy_device_tree

From: Rob Herring <robh@kernel.org>

The octeon FDT code can be simplified by using
unflatten_and_copy_device_tree function. This removes all accesses to
FDT header data by the arch code.

[andreas.herrmann: * Fixed compile problem:
 arch/mips/cavium-octeon/setup.c: In function 'device_tree_init':
 arch/mips/cavium-octeon/setup.c:1070:7: error: assignment discards 'const' qualifier from pointer target type [-Werror]
 arch/mips/cavium-octeon/setup.c:1073:7: error: assignment discards 'const' qualifier from pointer target type [-Werror]
                   * Removed (now) obsolete extern declarations (for __dtb_octeon_3xxx_end,
                     __dtb_octeon_68xx_end)]

Tested-by: Andreas Herrmann <andreas.herrmann@caviumnetworks.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/mips/cavium-octeon/setup.c |   20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
index 331b837..72ae938 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
@@ -1053,36 +1053,26 @@ void prom_free_prom_memory(void)
 int octeon_prune_device_tree(void);
 
 extern const char __dtb_octeon_3xxx_begin;
-extern const char __dtb_octeon_3xxx_end;
 extern const char __dtb_octeon_68xx_begin;
-extern const char __dtb_octeon_68xx_end;
 void __init device_tree_init(void)
 {
-	int dt_size;
-	struct boot_param_header *fdt;
+	const void *fdt;
 	bool do_prune;
 
 	if (octeon_bootinfo->minor_version >= 3 && octeon_bootinfo->fdt_addr) {
 		fdt = phys_to_virt(octeon_bootinfo->fdt_addr);
 		if (fdt_check_header(fdt))
 			panic("Corrupt Device Tree passed to kernel.");
-		dt_size = be32_to_cpu(fdt->totalsize);
 		do_prune = false;
 	} else if (OCTEON_IS_MODEL(OCTEON_CN68XX)) {
-		fdt = (struct boot_param_header *)&__dtb_octeon_68xx_begin;
-		dt_size = &__dtb_octeon_68xx_end - &__dtb_octeon_68xx_begin;
+		fdt = &__dtb_octeon_68xx_begin;
 		do_prune = true;
 	} else {
-		fdt = (struct boot_param_header *)&__dtb_octeon_3xxx_begin;
-		dt_size = &__dtb_octeon_3xxx_end - &__dtb_octeon_3xxx_begin;
+		fdt = &__dtb_octeon_3xxx_begin;
 		do_prune = true;
 	}
 
-	/* Copy the default tree from init memory. */
-	initial_boot_params = early_init_dt_alloc_memory_arch(dt_size, 8);
-	if (initial_boot_params == NULL)
-		panic("Could not allocate initial_boot_params");
-	memcpy(initial_boot_params, fdt, dt_size);
+	initial_boot_params = (void *)fdt;
 
 	if (do_prune) {
 		octeon_prune_device_tree();
@@ -1090,7 +1080,7 @@ void __init device_tree_init(void)
 	} else {
 		pr_info("Using passed Device Tree.\n");
 	}
-	unflatten_device_tree();
+	unflatten_and_copy_device_tree();
 }
 
 static int __initdata disable_octeon_edac_p;
-- 
1.7.9.5

  reply	other threads:[~2014-04-07 17:46 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03 22:16 [PATCH 00/20] FDT clean-ups and libfdt support Rob Herring
2014-04-03 22:16 ` Rob Herring
2014-04-03 22:16 ` Rob Herring
2014-04-03 22:16 ` Rob Herring
2014-04-03 22:16 ` Rob Herring
2014-04-03 22:16 ` [PATCH 01/20] mips: octeon: convert to use unflatten_and_copy_device_tree Rob Herring
2014-04-07 17:46   ` Andreas Herrmann [this message]
2014-04-16  1:02     ` Rob Herring
2014-04-03 22:16 ` [PATCH 02/20] mips: lantiq: copy built-in DTB out of init section Rob Herring
2014-04-03 22:16 ` [PATCH 03/20] mips: xlp: " Rob Herring
2014-04-03 22:16 ` [PATCH 04/20] mips: ralink: convert to use unflatten_and_copy_device_tree Rob Herring
2014-04-03 22:16 ` [PATCH 05/20] ARM: dt: use default early_init_dt_alloc_memory_arch Rob Herring
2014-04-03 22:16   ` Rob Herring
2014-04-03 22:16 ` [PATCH 06/20] c6x: convert fdt pointers to opaque pointers Rob Herring
2014-04-04  7:57   ` Geert Uytterhoeven
2015-03-07  9:16     ` Nishanth Menon
2014-04-03 22:16 ` [PATCH 07/20] mips: " Rob Herring
2014-04-03 22:16 ` [PATCH 08/20] of/fdt: consolidate built-in dtb section variables Rob Herring
2014-04-03 22:16   ` Rob Herring
2014-04-03 22:16   ` Rob Herring
2014-04-07 10:54   ` James Hogan
2014-04-07 10:54     ` James Hogan
2014-04-07 10:54     ` James Hogan
2014-04-08  4:23   ` Vineet Gupta
2014-04-08  4:23     ` Vineet Gupta
2014-04-08  4:23     ` Vineet Gupta
2014-04-03 22:16 ` [PATCH 09/20] of/fdt: create common debugfs Rob Herring
2014-04-03 22:16   ` Rob Herring
2014-04-04 12:16   ` Michal Simek
2014-04-04 12:16     ` Michal Simek
2014-04-04 12:22     ` Michal Simek
2014-04-04 12:22       ` Michal Simek
2014-04-04 13:00     ` Rob Herring
2014-04-04 13:00       ` Rob Herring
2014-04-04 13:22       ` Michal Simek
2014-04-04 13:22         ` Michal Simek
2014-04-04 13:32         ` Rob Herring
2014-04-04 13:32           ` Rob Herring
2014-04-04 14:11           ` Michal Simek
2014-04-04 14:11             ` Michal Simek
2014-04-07  0:42             ` Rob Herring
2014-04-07  0:42               ` Rob Herring
2014-04-07  7:04               ` Michal Simek
2014-04-07  7:04                 ` Michal Simek
2014-04-03 22:16 ` [PATCH 10/20] of/fdt: remove some unneeded includes Rob Herring
2014-04-03 22:16 ` [PATCH 11/20] of/fdt: remove unused of_scan_flat_dt_by_path Rob Herring
2014-04-03 22:16 ` [PATCH 12/20] of/fdt: update of_get_flat_dt_prop in prep for libfdt Rob Herring
2014-04-03 22:16 ` [PATCH 13/20] of/fdt: Convert FDT functions to use libfdt Rob Herring
2014-04-03 22:16 ` [PATCH 14/20] of/fdt: use libfdt accessors for header data Rob Herring
2014-04-08  3:54   ` Max Filippov
2014-04-03 22:16 ` [PATCH 15/20] of/fdt: move memreserve and dtb memory reservations into core Rob Herring
2014-04-03 22:16 ` [PATCH 16/20] build: add libfdt include path globally Rob Herring
2014-04-03 22:17 ` [PATCH 17/20] powerpc: use libfdt accessors for header data Rob Herring
2014-04-03 22:17 ` [PATCH 18/20] x86: " Rob Herring
2014-04-03 22:17 ` [PATCH 19/20] of/fdt: convert initial_boot_params to opaque pointer Rob Herring
2014-04-03 22:17 ` [PATCH 20/20] of: push struct boot_param_header and defines into powerpc Rob Herring
2014-04-03 22:17   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140407174617.GA12379@alberich \
    --to=herrmann.der.user@googlemail.com \
    --cc=ddaney.cavm@gmail.com \
    --cc=grant.likely@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=robh@kernel.org \
    --cc=robherring2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.