Преглед изворни кода

of/fdt: introduce of_get_flat_dt_size

Add a wrapper function to retrieve the FDT size from the FDT header. This
is primarily to avoid libfdt include paths for the whole kernel.

Signed-off-by: Rob Herring <robh@kernel.org>
Tested-by: Grant Likely <grant.likely@linaro.org>
Tested-by: Stephen Chivers <schivers@csc.com>
Rob Herring пре 11 година
родитељ
комит
c0556d3f2c
2 измењених фајлова са 9 додато и 0 уклоњено
  1. 8 0
      drivers/of/fdt.c
  2. 1 0
      include/linux/of_fdt.h

+ 8 - 0
drivers/of/fdt.c

@@ -553,6 +553,14 @@ unsigned long __init of_get_flat_dt_root(void)
 	return 0;
 	return 0;
 }
 }
 
 
+/**
+ * of_get_flat_dt_size - Return the total size of the FDT
+ */
+int __init of_get_flat_dt_size(void)
+{
+	return fdt_totalsize(initial_boot_params);
+}
+
 /**
 /**
  * of_get_flat_dt_prop - Given a node in the flat blob, return the property ptr
  * of_get_flat_dt_prop - Given a node in the flat blob, return the property ptr
  *
  *

+ 1 - 0
include/linux/of_fdt.h

@@ -92,6 +92,7 @@ extern const void *of_get_flat_dt_prop(unsigned long node, const char *name,
 extern int of_flat_dt_is_compatible(unsigned long node, const char *name);
 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 int of_flat_dt_match(unsigned long node, const char *const *matches);
 extern unsigned long of_get_flat_dt_root(void);
 extern unsigned long of_get_flat_dt_root(void);
+extern int of_get_flat_dt_size(void);
 
 
 extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
 extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
 				     int depth, void *data);
 				     int depth, void *data);