diff options
author | Simon Glass <sjg@chromium.org> | 2016-07-25 18:59:13 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-09-18 21:04:39 -0600 |
commit | 0170804f60b19a2033ac39964fcd192a0c7eda42 (patch) | |
tree | b37fd3dca5b08d6683bd740952054199a2987342 | |
parent | 346179f0d3383e88f7df117b13820df70f68c74a (diff) |
dtoc: Move to using bytearray
Since we want to be able to change the in-memory device tree using libfdt,
use a bytearray instead of a string. This makes interfacing from Python
easier.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | lib/libfdt/libfdt.swig | 8 | ||||
-rw-r--r-- | tools/dtoc/fdt_normal.py | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/libfdt/libfdt.swig b/lib/libfdt/libfdt.swig index 14f583dfbee..26d42fc5d69 100644 --- a/lib/libfdt/libfdt.swig +++ b/lib/libfdt/libfdt.swig @@ -75,6 +75,14 @@ struct fdt_property { } %} +%typemap(in) (const void *) { + if (!PyByteArray_Check($input)) { + SWIG_exception_fail(SWIG_TypeError, "in method '" "$symname" "', argument " + "$argnum"" of type '" "$type""'"); + } + $1 = (void *) PyByteArray_AsString($input); +} + const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int checklen); int fdt_path_offset(const void *fdt, const char *path); int fdt_first_property_offset(const void *fdt, int nodeoffset); diff --git a/tools/dtoc/fdt_normal.py b/tools/dtoc/fdt_normal.py index 4a667a115d6..eb45742a10d 100644 --- a/tools/dtoc/fdt_normal.py +++ b/tools/dtoc/fdt_normal.py @@ -110,7 +110,7 @@ class FdtNormal(Fdt): self._fname = fdt_util.EnsureCompiled(self._fname) with open(self._fname) as fd: - self._fdt = fd.read() + self._fdt = bytearray(fd.read()) def GetFdt(self): """Get the contents of the FDT |