[PATCH v4 0/3] Variable sized array element support

Anton Staaf robotboy at chromium.org
Wed Sep 28 04:11:35 EST 2011


This patch set adds, tests, and documents support for variable sized elements in
arrays (known as cell lists when they could only support 32-bit entries).  The
new syntax is:

    property = /bits/ [8|16|32|64] <0x00 .... 0x12>;

So arrays of 8, 16, 32, or 64-bit elements can now be created.  No padding is
done on the resulting array.  So if three 8-bit elements are specified the
resulting property will contain three bytes.

Changes in v2:
- sized_data renamed to celllist
- celllist definition moved to dtc-parser.y
- celllist non-terminal renamed to celllistprefix
- references always appended as -1 masked to the size of the cell
- smaller test values derived from TEST_VALUE_1
- data_append_literal renamed to data_append_integer
- be_ removed from values in data_append_integer
- len renamed to bits in data_append_integer

Changes in v3:
- Renamed size to bits in docs, parser, commit messages, and celllist struct
- Remove die on overflow from data_append_integer
- Rewrite data_append_cell|addr in terms of data_append_integer
- Minor cosmetic change to property names in test case (added 'b' to last two)

Changes in v4:
- Only add phandle reference marker when element size is 32-bits
- Rename non-terminal celllistprefix to arrayprefix
- Rename semantic variable celllist to array
- Update documentation to use array and element instead of cell list and cell

Anton Staaf (3):
  libfdt: Add fdt16_to_cpu utility function
  dtc: Add data_append_integer function
  dtc: Add support for variable sized elements

 Documentation/dts-format.txt |   34 +++++++++++-----
 data.c                       |   39 ++++++++++++++++---
 dtc-lexer.l                  |    6 +++
 dtc-parser.y                 |   70 ++++++++++++++++++++++++-----------
 dtc.h                        |    1 +
 libfdt/libfdt_env.h          |    6 +++
 tests/.gitignore             |    1 +
 tests/Makefile.tests         |    1 +
 tests/run_tests.sh           |    3 +
 tests/sized_cells.c          |   84 ++++++++++++++++++++++++++++++++++++++++++
 tests/sized_cells.dts        |   11 +++++
 11 files changed, 216 insertions(+), 40 deletions(-)
 create mode 100644 tests/sized_cells.c
 create mode 100644 tests/sized_cells.dts

-- 
1.7.3.1



More information about the devicetree-discuss mailing list