The only function of the SPI flash driver part that is called by other parts of the package is `spi_enable_flash(0)` to disable the SPI flash during driver deinitialisation for power consumption reasons. Since we are not deinitialising the driver, the function is not called and can be commented out to compile the package without the SPI flash driver part.
This adds the new `printf_long_long` module that can be used to enable
printing of `long long` and `unsigned long long`.
This has been implemented for `mpaland-printf`. In addition, this module
is a default module for 32-bit and 64-bit systems if `mpaland-printf` is
used, 64 bit support is not too expensive for them. (And on 64-bit
systems support for long long is needed for support of `%p`, which is
pretty basic.)
This is mainly useful for MSP430, where otherwise `mpaland-printf` would
require more memory than newlib's implementation.
This adds `-Wno-unterminated-string-initialization` to the `CFLAGS` if
(and only if) the compiler supports this.
This also adds `-Wno-maybe-uninitialized`. This warning has been
supported for quite some time, but the diagnostics triggers more often
with newer GCC releases.
This makes sure that newlib's printf is correctly overridden by:
1. Adding wrappers for some more obscure printf() variants
2. Forcing a compilation failure when newlib's stdio is still linked in
while mpaland-printf is used
3. Not adding `-u _printf_float` to the linker flags when mpaland-printf
is used.
This packs the stdio implementation from [1] as alternative to
what the used standard C lib provides with the intent to provide a
thread-safe, smaller, and more feature-complete alternative on
newlib targets.
Compared to `newlib_nano` this reduces `.text` by a bit more than 200 B
while adding support for standard format specifiers such as `RPIu8`,
`PRIu16`, `PRIu64`, `%z`, and `%t`.
Note that `newlib_nano`'s stdio can be thread-safe in reentrant mode
at the cost of RAM (per thread) and latency. Especially the increase
in latency can be prohibitive when real time requirements need to be
met.
[1]: https://github.com/mpaland/printf
The RIOT header `<sys/uio.h>` is not available when using the bundled ESP-IDF
outside of RIOT.
This patch ensures that `<sys/uio.h>` is only included when `RIOT_VERSION` is
defined.
Signed-off-by: Jongmin Kim <jmkim@debian.org>
The implementation of `rtc_gpio_force_hold_all()` was renamed to`rtc_gpio_force_hold_en_all()`
in the patch `0022-driver-gpio-fix-undefined-reference-to-rtc_gpio_forc.patch`.
This patch corrects the function declaration to match the renamed implementation.
Signed-off-by: Jongmin Kim <jmkim@debian.org>
Treat documentation issues flagged by LLVM as hard errors.
LLVM tends to be a lot less picky about documentation issues compared
to Doxygen (e.g. no warning about missing doc), but warns about things
that really are not intentional (e.g. `@param foo` when the argument has
been renamed to `bar`, `@return` when the return type is `void`, ...).
Having this as a base line requirement seems pretty sane.
pkg/wamr has special handling for passing along includes, but assumed
that all includes would be passed via `-I` and not `-isystem`. This
now extends the special handling to support both.