device.h: fix inconsistent semicolon logic for DEVICE_DT_DEFINE
#79279
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR #78508 added optional export of DT devices in the
DEVICE_DT_DEFINE
macro, but created inconsistent semicolon semantics:When
CONFIG_LLEXT_EXPORT_DEVICES
is not enabled, theDEVICE_DT_DEFINE
macro ends (as it was before the PR) with the contents of theZ_DEVICE_DEFINE
macro, which always include a terminating semicolon.When
CONFIG_LLEXT_EXPORT_DEVICES
is enabled, the macro ends withZ_DEVICE_EXPORT
, which ultimately maps toZ_EXPORT_SYMBOL
and does not include a terminating semicolon. This leads to a syntax error in places where theDEVICE_DT_DEFINE
macro is used without it, like here.Fix this by adjusting the code added when
CONFIG_LLEXT_EXPORT_DEVICES
is enabled to include a semicolon after theZ_DEVICE_EXPORT
macro; also remove a stray backslash that was added in the same PR.