summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-09-14 04:57:08 -0600
committerSimon Glass <sjg@chromium.org>2018-09-28 11:09:01 -0600
commitd178eab8f92cb2d67288e01d1ae5b0eb8d0f8db1 (patch)
tree9a6e63e0c1c70795e2c0ea505d0bd343a50d5044
parentf069303852bdfa1303cd5787667bd7924f0482d9 (diff)
downloadu-boot-d178eab8f92cb2d67288e01d1ae5b0eb8d0f8db1.tar.gz
binman: Allow 'fill' entry to have a size of 0
The check for this should be for None, not 0. Fix it and add a test. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--tools/binman/etype/fill.py2
-rw-r--r--tools/binman/ftest.py5
-rw-r--r--tools/binman/test/80_fill_empty.dts15
3 files changed, 21 insertions, 1 deletions
diff --git a/tools/binman/etype/fill.py b/tools/binman/etype/fill.py
index 7210a8324a..dcfe978a5b 100644
--- a/tools/binman/etype/fill.py
+++ b/tools/binman/etype/fill.py
@@ -23,7 +23,7 @@ class Entry_fill(Entry):
"""
def __init__(self, section, etype, node):
Entry.__init__(self, section, etype, node)
- if not self.size:
+ if self.size is None:
self.Raise("'fill' entry must have a size property")
self.fill_value = fdt_util.GetByte(self._node, 'fill-byte', 0)
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index a8456c2615..7f82264f8a 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -1364,6 +1364,11 @@ class TestFunctional(unittest.TestCase):
self.assertIn("Node '/binman/u-boot': Please use 'offset' instead of "
"'pos'", str(e.exception))
+ def testFillZero(self):
+ """Test for an fill entry type with a size of 0"""
+ data = self._DoReadFile('80_fill_empty.dts')
+ self.assertEqual(chr(0) * 16, data)
+
if __name__ == "__main__":
unittest.main()
diff --git a/tools/binman/test/80_fill_empty.dts b/tools/binman/test/80_fill_empty.dts
new file mode 100644
index 0000000000..2b78d3ae88
--- /dev/null
+++ b/tools/binman/test/80_fill_empty.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ binman {
+ size = <16>;
+ fill {
+ size = <0>;
+ fill-byte = [ff];
+ };
+ };
+};