New kernel drivers and device implementation updates (#561)

- Added modular device support and devicetree bindings for ILI9341, ILI9488, CST816S, XPT2046, and GPIO button input, updating several board configurations for display/touch/backlight/keyboard/battery.
- Added a setting to control deprecated HAL usage (device property + Kconfig).
This commit is contained in:
Ken Van Hoeylandt
2026-07-12 23:54:55 +02:00
committed by GitHub
parent 50c0a14a93
commit fa4a6e255c
148 changed files with 5837 additions and 2145 deletions
+19 -3
View File
@@ -12,17 +12,33 @@ static Module module = {
.stop = nullptr
};
TEST_CASE("device_construct and device_destruct should set and unset the internal field") {
TEST_CASE("device_construct and device_destruct should set and unset the constructed state") {
Device device = { 0 };
error_t error = device_construct(&device);
CHECK_EQ(error, ERROR_NONE);
CHECK_NE(device.internal, nullptr);
CHECK_EQ(device_is_constructed(&device), true);
CHECK_EQ(device_destruct(&device), ERROR_NONE);
CHECK_EQ(device.internal, nullptr);
CHECK_EQ(device_is_constructed(&device), false);
}
TEST_CASE("device_construct should be reusable after device_destruct on the same Device") {
Device device = { 0 };
CHECK_EQ(device_construct(&device), ERROR_NONE);
CHECK_EQ(device_destruct(&device), ERROR_NONE);
// Reconstruct on the same static Device: fresh allocation, behaves like a new device.
CHECK_EQ(device_construct(&device), ERROR_NONE);
CHECK_EQ(device_is_constructed(&device), true);
CHECK_EQ(device_is_added(&device), false);
CHECK_EQ(device_add(&device), ERROR_NONE);
CHECK_EQ(device_remove(&device), ERROR_NONE);
CHECK_EQ(device_destruct(&device), ERROR_NONE);
}
TEST_CASE("device_add should add the device to the list of all devices") {