summaryrefslogtreecommitdiff
path: root/scripts/checkstack.pl
diff options
context:
space:
mode:
authorStephen Warren <[email protected]>2015-08-06 15:31:02 -0600
committerSimon Glass <[email protected]>2015-09-15 07:57:13 -0600
commit02464e386bb5f0a022c121f95ae75cf583759d95 (patch)
treedf285b436346479298805f01ffc4dbe33ace1b79 /scripts/checkstack.pl
parent850f788709cef8f7d53d571aec3bfb73b14c5531 (diff)
fdt: add new fdt address parsing functions
fdtdec_get_addr_size() hard-codes the number of cells used to represent an address or size in DT. This is incorrect in many cases depending on the DT binding for a particular node or property (e.g. it is incorrect for the "reg" property). In most cases, DT parsing code must use the properties #address-cells and #size-cells to parse addres properties. This change splits up the implementation of fdtdec_get_addr_size() so that the core logic can be used for both hard-coded and non-hard-coded cases. Various wrapper functions are implemented that support cases where hard-coded cell counts should or should not be used, and where the client does and doesn't know the parent node ID that contains the properties #address-cells and #size-cells. dev_get_addr() is updated to use the new functions. Core functionality in fdtdec_get_addr_size_fixed() is widely tested via fdtdec_get_addr_size(). I tested fdtdec_get_addr_size_auto_noparent() and dev_get_addr() by manually modifying the Tegra I2C driver to invoke them. Much of the core implementation of fdtdec_get_addr_size_fixed(), fdtdec_get_addr_size_auto_parent(), and fdtdec_get_addr_size_auto_noparent() comes from Thierry Reding's previous commit "fdt: Fix fdtdec_get_addr_size() for 64-bit". Based-on-work-by: Thierry Reding <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Simon Glass <[email protected]> Cc: Michal Suchanek <[email protected]> Signed-off-by: Stephen Warren <[email protected]> Acked-by: Simon Glass <[email protected]> Dropped #define DEBUG at the top of fdtdec.c: Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'scripts/checkstack.pl')
0 files changed, 0 insertions, 0 deletions