Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1bac1869 authored by Rob Herring's avatar Rob Herring
Browse files

x86: use FDT accessors for FDT blob header data



Remove the direct accesses to FDT header data using accessor
function instead. This makes the code more readable and makes the FDT
blob structure more opaque to the arch code. This also prepares for
removing struct boot_param_header completely.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Tested-by: default avatarGrant Likely <grant.likely@linaro.org>
parent 060f78c2
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -206,23 +206,21 @@ static void __init dtb_apic_setup(void)
static void __init x86_flattree_get_config(void)
{
	u32 size, map_len;
	struct boot_param_header *dt;
	void *dt;

	if (!initial_dtb)
		return;

	map_len = max(PAGE_SIZE - (initial_dtb & ~PAGE_MASK),
			(u64)sizeof(struct boot_param_header));
	map_len = max(PAGE_SIZE - (initial_dtb & ~PAGE_MASK), (u64)128);

	dt = early_memremap(initial_dtb, map_len);
	size = be32_to_cpu(dt->totalsize);
	initial_boot_params = dt = early_memremap(initial_dtb, map_len);
	size = of_get_flat_dt_size();
	if (map_len < size) {
		early_iounmap(dt, map_len);
		dt = early_memremap(initial_dtb, size);
		initial_boot_params = dt = early_memremap(initial_dtb, size);
		map_len = size;
	}

	initial_boot_params = dt;
	unflatten_and_copy_device_tree();
	early_iounmap(dt, map_len);
}