1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-26 15:03:53 +01:00
RIOT/drivers
Marian Buschsieweke 2a00ec13e5
drivers/periph/gpio_ll: shrink gpio_conf_t
This commit optimizes the `gpio_conf_t` type in the following
regards:

- The "base" `gpio_conf_t` is stripped from members that only some
  platforms support, e.g. drive strength, slew rate, and disabling of
  the Schmitt Trigger are no longer universally available but
  platform-specific extensions
- The `gpio_conf_t` is now crammed into a bit-field that is 8 bit or
  16 bit wide. This allows for storing lots of them e.g. in
  `driver_foo_params_t` or `uart_conf_t` etc.
- A `union` of the `struct` with bit-field members and a `bits` is used
  to allow accessing all bits in a simple C statement and to ensure
  alignment for efficient handling of the type

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2024-01-21 08:38:40 +01:00
..
2022-09-14 15:05:25 +02:00
2023-02-23 16:44:24 +01:00
2023-12-13 16:50:41 +01:00
2022-09-14 15:05:25 +02:00
2022-09-14 15:05:25 +02:00
2022-03-04 14:15:35 +01:00
2022-09-14 15:05:25 +02:00
2023-08-29 08:19:52 +00:00
2023-02-23 16:44:24 +01:00
2023-02-23 16:44:24 +01:00
2022-09-14 15:05:25 +02:00
2022-09-14 15:05:25 +02:00
2023-02-23 16:44:24 +01:00
2023-02-23 16:44:24 +01:00
2023-02-23 16:44:24 +01:00
2022-09-14 15:05:25 +02:00
2023-02-23 16:44:24 +01:00
2023-02-23 16:44:24 +01:00
2023-02-23 16:44:24 +01:00
2022-09-14 15:05:25 +02:00
2023-01-31 21:05:07 +01:00
2022-09-14 15:05:25 +02:00
2023-02-23 16:44:24 +01:00
2023-02-23 16:44:24 +01:00
2023-06-01 16:52:26 +02:00
2024-01-07 16:47:11 +01:00
2022-09-14 15:05:25 +02:00
2022-03-04 14:15:50 +01:00
2023-02-23 16:44:24 +01:00
2022-09-14 15:05:25 +02:00
2022-09-26 18:54:40 +02:00
2024-01-17 16:05:12 +01:00
2022-03-04 14:15:57 +01:00
2022-03-04 14:15:58 +01:00
2022-09-14 15:05:25 +02:00
2023-12-19 11:13:43 +01:00
2023-09-06 10:19:01 +00:00