u-boot-brain/tools
Simon Glass 9fa2819009 dm: core: Expand platdata for of-platdata devices
Devices which use of-platdata have their own platdata. However, in many
cases the driver will have its own auto-alloced platdata, for use with the
device tree. The ofdata_to_platdata() method converts the device tree
settings to platdata.

With of-platdata we would not normally allocate the platdata since it is
provided by the U_BOOT_DEVICE() declaration. However this is inconvenient
since the of-platdata struct is closely tied to the device tree properties.
It is unlikely to exactly match the platdata needed by the driver.

In fact a useful approach is to declare platdata in the driver like this:

struct r3288_mmc_platdata {
	struct dtd_rockchip_rk3288_dw_mshc of_platdata;
	/* the 'normal' fields go here */
};

In this case we have dt_platadata available, but the normal fields are not
present, since ofdata_to_platdata() is never called. In fact driver model
doesn't allocate any space for the 'normal' fields, since it sees that there
is already platform data attached to the device.

To make this easier, adjust driver model to allocate the full size of the
struct (i.e. platdata_auto_alloc_size from the driver) and copy in the
of-platdata. This means that when the driver's bind() method is called,
the of-platdata will be present, followed by zero bytes for the empty
'normal field' portion.

A new DM_FLAG_OF_PLATDATA flag is available that indicates that the platdata
came from of-platdata. When the allocation/copy happens, the
DM_FLAG_ALLOC_PDATA flag will be set as well. The dtoc tool is updated to
output the platdata_size field, since U-Boot has no other way of knowing
the size of the of-platdata struct.

Signed-off-by: Simon Glass <sjg@chromium.org>
2016-07-14 20:40:24 -06:00
..
buildman buildman: allow more incremental building 2016-05-17 09:54:43 -06:00
dtoc dm: core: Expand platdata for of-platdata devices 2016-07-14 20:40:24 -06:00
easylogo Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
env tools/env: allow to pass NULL for environment options 2016-05-31 10:23:10 -04:00
gdb Makefile: move BFD_ROOT_DIR to tools/gdb/Makefile 2014-02-19 11:07:50 -05:00
kermit tools: move kermit files to tools/kermit directory 2014-01-24 16:59:07 -05:00
logos dm: video: test: Test that bitmap display works correctly 2016-01-20 19:10:16 -07:00
omap Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
patman tools: patman: Handle missing 'END' in non-last commit of a series 2016-07-11 14:06:44 -06:00
scripts tools: fix define2mk.sed to not add quotes around negative integers 2016-06-13 07:46:29 +09:00
tbot test, tools: update tbot documentation 2016-05-13 11:25:59 -04:00
.gitignore tools: Add entry for generated tools/bin2header to tools/.gitignore 2016-05-27 15:47:56 -04:00
aisimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
aisimage.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
atmel_pmecc_params.c Change my mailaddress 2016-05-02 18:37:09 -04:00
atmelimage.c Change my mailaddress 2016-05-02 18:37:09 -04:00
bin2header.c cmd: Fix license command 2016-03-22 12:16:13 -04:00
bmp_logo.c tools, bmp_logo: fix index from uint16_t to int to allow bigger logos 2013-08-10 10:48:00 +02:00
default_image.c Respect SOURCE_DATE_EPOCH when building FIT images. 2016-06-24 17:23:10 -04:00
dumpimage.c dumpimage: replace the term "datafile" by "subimage" 2015-01-29 13:38:41 -05:00
dumpimage.h includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
envcrc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fdt_host.h tools, fit_check_sign: verify a signed fit image 2014-03-21 16:40:38 -04:00
fdtgrep.c fdtgrep: Improve error handling with invalid device tree 2016-03-14 15:34:50 -06:00
fit_check_sign.c Fix bad return value checks (detected with Coccinelle) 2015-10-24 13:50:30 -04:00
fit_common.c mkimage: Automatically make space in FDT when full 2014-06-11 16:25:46 -04:00
fit_common.h mkimage: Automatically make space in FDT when full 2014-06-11 16:25:46 -04:00
fit_image.c Respect SOURCE_DATE_EPOCH when building FIT images. 2016-06-24 17:23:10 -04:00
fit_info.c tools, fit_info: increase buffer for command name 2014-08-14 11:20:24 +02:00
gen_eth_addr.c tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed 2015-09-28 10:48:25 -04:00
genboardscfg.py tools/genboardscfg.py: remove bogus import subprocess 2016-05-27 15:47:56 -04:00
getline.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
getline.h getline: split out for darwin systems 2010-01-26 00:07:13 +01:00
gpheader.h tools: mkimage: add support for gpimage format 2014-04-17 17:24:38 -04:00
gpimage-common.c dumpimage: add 'T' option to explicitly set the image type 2015-01-29 13:38:41 -05:00
gpimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
ifdtool.c x86: ifdtool: Support checking region overlap before U-Boot 2015-09-09 07:48:03 -06:00
ifdtool.h tools/ifdtool: Support writing multiple files (-w) simultaneously 2014-12-13 22:32:04 -07:00
image-host.c tools: fix typo in tools/image-host.c 2014-08-14 11:20:01 +02:00
imagetool.c Respect SOURCE_DATE_EPOCH when building FIT images. 2016-06-24 17:23:10 -04:00
imagetool.h Respect SOURCE_DATE_EPOCH when building FIT images. 2016-06-24 17:23:10 -04:00
img2brec.sh Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
img2srec.c img2srec: use standard types 2009-11-24 23:43:18 +01:00
imximage.c imx: tools: imximage: fix CLR bit command 2016-05-17 17:52:19 +02:00
imximage.h imximage: fix commands other than write_data 2015-10-07 13:43:15 +02:00
jtagconsole Blackfin: jtagconsole: disable output processing 2010-07-25 15:17:23 -04:00
kwbimage.c tools/kwbimage: fix size computations for v1 images 2015-11-29 16:02:44 +01:00
kwbimage.h tools/kwbimage: fix endianess issue 2015-11-29 16:02:44 +01:00
kwboot.c tools: kwboot: Add xmodem timeout option 2016-03-24 10:08:49 +01:00
lpc32xximage.c lpc32xx: add lpc32xx-spl.bin boot image target 2015-04-10 14:23:26 +02:00
Makefile Only build the libfdt python module if 'swig' is available 2016-07-14 20:40:24 -06:00
microcode-tool x86: Add a script to process Intel microcode files 2014-12-18 17:26:08 -07:00
microcode-tool.py tools: microcode-tool: Support parsing header file with a license block 2016-01-13 12:20:14 +08:00
mingw_support.c Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
mingw_support.h Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
mkenvimage.c Patch to mkenvimage to handle text files with length that exceed env size 2015-03-28 12:07:47 -04:00
mkexynosspl.c Fix bad return value checks (detected with Coccinelle) 2015-10-24 13:50:30 -04:00
mkimage.c mkimage: fit: spl: Add an optional static offset for external data 2016-06-24 17:23:06 -04:00
mkimage.h includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
mksunxiboot.c sunxi: (mksunxiboot) signature to indicate "sunxi" SPL variant 2015-09-29 11:50:07 +02:00
moveconfig.py tools: moveconfig: show suspicious boards with possible misconversion 2016-06-22 09:23:00 +09:00
mxsboot.c mxsboot: remove unused include 2016-02-21 11:09:19 +01:00
mxsimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
mxsimage.h ARM: mxs: tools: Add support for boot progress display flag 2014-11-20 10:13:45 +01:00
ncb.c ncb: Check return value of write() 2009-04-28 01:16:46 +02:00
netconsole net: Make netconsole src and dest ports configurable 2012-09-24 13:17:24 -05:00
omapimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
omapimage.h tools: mkimage: add support for gpimage format 2014-04-17 17:24:38 -04:00
os_support.c Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
os_support.h Add LGPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:45:01 -04:00
pbl_crc32.c mkimage : Split out and clean pbl_crc32 for use by other image types 2014-06-05 14:38:38 -04:00
pbl_crc32.h mkimage : Split out and clean pbl_crc32 for use by other image types 2014-06-05 14:38:38 -04:00
pblimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
pblimage.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
proftool.c tools/proftool: fix use-after-free 2015-11-16 17:22:18 -05:00
relocate-rela.c relocate-rela: replace a magic number with sizeof(Elf64_Rela) 2014-02-13 15:16:47 +01:00
rkcommon.c rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkcommon.h rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkimage.c rockchip: Check image name for the rksd image 2016-05-27 10:23:07 -06:00
rkmux.py rockchip: Add a script to parse datasheets 2016-01-21 20:42:37 -07:00
rksd.c rockchip: mkimage: use imagename to select spl hdr & spl size 2015-12-13 17:07:29 -07:00
rkspi.c rockchip: Drop a debug message when outputing SPI images 2016-01-08 07:59:06 -07:00
socfpgaimage.c tools: do not print error messages in verify_header() functions 2015-01-29 13:38:41 -05:00
ublimage.c imagetool: replace image registration function by linker_lists feature 2015-01-29 13:38:41 -05:00
ublimage.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ubsha1.c includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
xway-swap-bytes.c MIPS: INCA-IP: rename inca-swap-bytes host tool 2011-07-31 23:25:41 +09:00
zynqimage.c tools: zynqimage: Clean up check_params 2015-12-18 13:15:57 +01:00
zynqmpimage.c tools: zynqmpimage: Add Xilinx ZynqMP boot header generation 2016-05-24 11:15:01 +02:00