coreboot/util
Furquan Shaikh 931982600d util/sconfig: Re-factor device structure in parse tree
This change re-factors the device structure in parse tree to be able
to support multidev devices just like non-multidev devices.

With this change, every device has a bus under it which is the parent
of all devices that fall on the bus. If there are duplicate entries in
the devicetree, then there will be multiple buses under the device and
each bus will have its own set of children.

The tree starts out with a root device which has a root bus under
it. This is a special device which is created statically and its
parent is its own root bus. When parsing the device tree file, devices
get added under the root bus as children.

Since this change re-organizes the way devicetree is represented, it
gets rid of latestchild and next_sibling pointers from struct
device. Also, the tree traversal to generate static.c is changed to
breadth-first walk instead of using the next_sibling.

BUG=b:80081934
TEST=Verified using abuild that all boards compile successfully.

Change-Id: Ic8c8a73a247e8e992ab6b1b2cc3131e06fa2e5a1
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/26800
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-06-08 23:36:02 +00:00
..
abuild util/abuild: Disable unspecified payload options 2018-05-17 12:06:33 +00:00
acpi
amdfwtool util/amdfwtool/amdfwtool.c: Check fstat return 2018-02-22 09:59:40 +00:00
amdtools Use more secure HTTPS URLs for coreboot sites 2017-06-07 12:04:50 +02:00
archive
arm_boot_tools/mksunxiboot
autoport util/autoport: Improve readme.me 2018-04-29 16:46:04 +00:00
bimgtool
bincfg util/bincfg: don't use fp shared variable 2018-01-23 05:21:48 +00:00
board_status board_status: Abort if repository is in a dirty state 2018-06-04 09:25:17 +00:00
broadcom util/broadcom/secimage: Add distclean target 2018-02-10 23:49:58 +00:00
cbfstool util/cbfstool: Remove whitespace before tab 2018-06-04 09:10:05 +00:00
cbmem util/cbmem: Fix compare function for qsort 2018-05-18 20:13:47 +00:00
checklist
chromeos
crossgcc buildgcc: Update IASL to 20180531 2018-06-03 23:08:49 +00:00
docker util/docker/doc.coreboot.org: Add git to the image 2018-06-07 15:10:25 +00:00
dtd_parser
ectool ectool: Add an option to get and use EC ports from /proc/ioports 2018-04-19 16:30:23 +00:00
exynos
futility util/futility/Makefile: Update clean target 2017-03-29 05:16:49 +02:00
fuzz-tests
genbuild_h util/genbuild_h: Add gitfile support 2018-01-23 05:33:02 +00:00
genprof
gitconfig checkpatch: exclude util/crossgcc/patches 2018-05-30 17:12:00 +00:00
ifdfake util/ifdfake: Add number of regions 2016-12-15 23:47:09 +01:00
ifdtool util/ifdtool: Remove .dependencies on make clean 2018-06-04 09:38:25 +00:00
intelmetool util/intelmetool: Add Makefile target for OLDARC definition 2018-05-23 08:31:45 +00:00
inteltool util/inteltool: Add Pentium 4 model f6x 2018-06-04 02:31:51 +00:00
intelvbttool
ipqheader util/*: Fix final newlines in scripts 2018-01-23 05:17:44 +00:00
k8resdump util/*: don't strip executables 2017-10-29 08:48:56 +00:00
kbc1126 kbc1126_ec_dump: fix some errors 2017-08-18 15:32:08 +00:00
kconfig
lint util/lint: Add filename checker 2018-06-07 06:27:08 +00:00
marvell
me_cleaner util/me_cleaner: Update to v1.2 2018-04-06 06:54:14 +00:00
mma mma: update mma setup script for v2.1018 2017-04-24 19:11:34 +02:00
msrtool util/msrtool: Add Pentium D support 2018-06-04 02:30:03 +00:00
mtkheader
nvidia util/nvidia/cbootimage: Update to upstream master 2017-04-24 19:19:39 +02:00
nvramtool cbfs: Rename CBFS_TYPE_PAYLOAD to CBFS_TYPE_SELF 2018-05-04 10:30:24 +00:00
optionlist util: change coreboot to lowercase 2017-06-27 18:26:01 +00:00
post
qualcomm/scripts/cmm util/qualcomm: Add T32 debug scripts 2018-04-27 09:21:11 +00:00
release util/release/genrelnotes: Add "sifive" search pattern 2018-05-05 15:24:45 +00:00
riscv src/sifive: Add the SiFive Freedom Unleashed 540 SoC 2018-04-26 11:52:37 +00:00
rockchip
romcc smbus: Fix a typo ("Set the device I'm talking too") 2017-09-27 16:38:18 +00:00
sconfig util/sconfig: Re-factor device structure in parse tree 2018-06-08 23:36:02 +00:00
scripts util/scripts: Add script to alphabetize MAINTAINERS file 2018-04-16 22:25:31 +00:00
showdevicetree sconfig: Add a new mmio resource type 2018-01-25 16:50:17 +00:00
spkmodem_recv
superiotool util/superiotool: Remove whitespace before tab 2018-06-04 09:10:32 +00:00
testing util/testing: Convert tegra124 and tegra210 builds to junit 2018-05-22 07:25:54 +00:00
uio_usbdebug
vgabios util/vgabios: Don't call redefined printk in printk 2017-07-21 15:45:41 +00:00
viatool Use more secure HTTPS URLs for coreboot sites 2017-06-07 12:04:50 +02:00
x86 util/x86/x86_page_tables: add command line to generated files 2018-04-27 03:25:28 +00:00
xcompile util/xcompile: prefer riscv64 over riscv 2018-05-09 10:00:32 +00:00