device: optimize handles array
Optimize the handles array by making the following observations: * The devicetree ordinal at index 0 in pass1 is discarded by gen_handles.py, and therefore does not appear in the pass2 array. * gen_handles.py does not need `DEVICE_HANDLE_ENDS` to determine the end of the handle array, as that information is present in the .elf. Therefore, instead of replacing the devicetree ordinal with an additional `DEVICE_HANDLE_ENDS` at the end (to preserve lengths), we can simply move the ordinal to the end and have it be the original `DEVICE_HANDLE_ENDS` symbol. This reduces the size of the array by one handle per device (2 bytes). Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
This commit is contained in:
parent
1660386f11
commit
b5c4140afb
2 changed files with 5 additions and 4 deletions
|
@ -702,7 +702,6 @@ BUILD_ASSERT(sizeof(device_handle_t) == 2, "fix the linker scripts");
|
|||
)) \
|
||||
DEVICE_HANDLE_SEP, \
|
||||
Z_DEVICE_EXTRA_HANDLES(__VA_ARGS__) \
|
||||
DEVICE_HANDLE_ENDS, \
|
||||
};
|
||||
|
||||
#define Z_DEVICE_DEFINE_INIT(node_id, dev_name, pm_control_fn) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue