-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pm: use braces for .pm_base inside anonymous union initializer #69270
pm: use braces for .pm_base inside anonymous union initializer #69270
Conversation
Fixes commit 25173f7 ("pm: device_runtime: Extend with synchronous runtime PM") Fixes compilation with gcc 4.2-based toolchain used by SOF for TGL generation products. As seen in the error message below, that gcc version requires braces for initialization of anonymous unions: ``` zephyr/soc/xtensa/intel_adsp/common/mem_window.c:62: error: unknown field ‘pm_base’ specified in initializer warning: missing braces around initializer warning: (near initialization for ‘__device_dts_ord_66.<anonymous>’) ``` This is a well-known and recurring issue, see past example(s) in zephyrproject-rtos#68118 As the Zephyr build is deterministic, I could easily verify that this commit makes zero .obj difference (when using the Zephyr SDK). Signed-off-by: Marc Herbert <[email protected]>
Tentative P1 because this is a compilation failure and it blocks SOF from upgrading Zephyr thesofproject/sof#8818 |
Raising priority to Release Blocker as this block SOF, a key consumer of the Zephyr project. |
@@ -906,7 +906,7 @@ static inline bool z_impl_device_is_ready(const struct device *dev) | |||
.state = (state_), \ | |||
.data = (data_), \ | |||
IF_ENABLED(CONFIG_DEVICE_DEPS, (.deps = (deps_),)) /**/ \ | |||
IF_ENABLED(CONFIG_PM_DEVICE, (.pm_base = (pm_),)) /**/ \ | |||
IF_ENABLED(CONFIG_PM_DEVICE, ({ .pm_base = (pm_),)}) /**/ \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got ), ) } )
in the wrong order, should have been ), } ))
!
Amazingly, no compiler cares!? @keith-packard any idea why?
Fix (and more) submitted in
Fixes commit 25173f7 ("pm: device_runtime: Extend with synchronous runtime PM")
Fixes compilation with gcc 4.2-based toolchain used by SOF for TGL generation products. As seen in the error message below, that gcc version requires braces for initialization of anonymous unions:
This is a well-known and recurring issue, see past example(s) in #68118
As the Zephyr build is deterministic, I could easily verify that this commit makes zero .obj difference (when using the Zephyr SDK).