-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
drivers: build as static library #37512
Merged
cfriedt
merged 34 commits into
zephyrproject-rtos:main
from
dcpleung:drivers_use_zephyr_library
Aug 17, 2021
Merged
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
1a39fa9
arm64: smp: arm64_smp_init to be done at PRE_KERNEL_2
dcpleung 32ee069
drivers: interrupt_controller: build as static library
dcpleung a5a1bf3
cmake: add zephyr_library_include_directories_ifdef()
dcpleung 0c54532
drivers: timer: build as static library
dcpleung c7e41a0
console: native_posix: change init priority to 99
dcpleung 1ddbe0e
console: semihosting: remove unused include
dcpleung 0d6447c
drivers: console: build as static library
dcpleung e276247
drivers: i2c: slave: group into i2c static library
dcpleung 740dc80
drivers: pcie: build as static library
dcpleung cff1391
drivers: wifi: build as static library
dcpleung e93cf92
bluetooth: audio: build as static library
dcpleung 564d81e
drivers: bluetooth: build as static library
dcpleung 8004561
drivers: sensors: build as static libraries
dcpleung 5eac434
drivers: can: build as static library
dcpleung 8d4cc5f
drivers: clock_control: build as static library
dcpleung 8765e20
drivers: disk: build as static library
dcpleung 23f789f
drivers: edac: build as static library
dcpleung cd761a5
drivers: ethernet: build as static library
dcpleung 0c89ba1
drivers: flash: build as static library
dcpleung 96de8bb
drivers: hwinfo: build as static library
dcpleung f53293e
drivers: ieee802154: build as static library
dcpleung 3c5a1f3
drivers: led: build as static library
dcpleung 39adc50
drivers: led_strip: build as static library
dcpleung 3939d1f
drivers: memc: build as static library
dcpleung 12fc20a
drivers: modem: build as static library
dcpleung 5bd9101
drivers: net: build as static library
dcpleung 545b005
drivers: pinmux: build as static library
dcpleung 231255f
drivers: ptp_clock: build as static library
dcpleung 5aa4b73
drivers: usb: build as static library
dcpleung 32b0281
drivers: watchdog: build as static library
dcpleung 300b6c1
drivers: sys_con: build as static library
dcpleung 56aa254
drivers: pm_cpu_ops: build as static library
dcpleung 0625eac
display: change init priority config to 85
dcpleung 2d4cefb
drivers: display: build as static library
dcpleung File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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.
What does this change have to do with building drivers as a static library?
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.
arm64_smp_init()
has the same init level and priority as the GICv3 interrupt controller. The linking order is affected by the interrupt controller driver being inside a static library, resulting in the interrupt controller being initialized later thanarm64_smp_init()
. There are hard faults runningarm64_smp_init()
as it is setting up IRQs for IPI. This change is simply to make sure the interrupt controller is initialized first.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.
Gotcha, thanks. Could you mention in the commit message that you found this while converting the interrupt controller drivers to build in a static library?
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.
This change is under a separate commit (1c15674) with explanation in the commit message.
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.
The commit message doesn't mention why the link order changed
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.
Ah... because that commit is before the changes on driver. I have updated the commit message to say that it is in preparation for the driver changes. Does this work?
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.
Yes, thanks