Refactor LVGL code into kernel module (#472)

* **New Features**
  * Added a standalone LVGL module and enabled LVGL support in the simulator for richer local UI testing.

* **Refactor**
  * HAL and LVGL split into distinct modules; startup and device attach/detach flows reorganized for clearer lifecycle management.
  * Public APIs tightened with clearer nullability/documentation.

* **Bug Fixes**
  * More consistent LVGL start/stop and device attach/detach behavior for improved stability.
This commit is contained in:
Ken Van Hoeylandt
2026-02-01 22:57:45 +01:00
committed by GitHub
parent 3fe1dc0312
commit 9f721e6655
135 changed files with 1553 additions and 667 deletions
+1 -1
View File
@@ -264,7 +264,7 @@ void for_each_device_of_type(const DeviceType* type, void* callbackContext, bool
for (auto* device : ledger.devices) {
auto* driver = device->internal.driver;
if (driver != nullptr) {
if (driver->deviceType == type) {
if (driver->device_type == type) {
if (!on_device(device, callbackContext)) {
break;
}
+4 -4
View File
@@ -159,8 +159,8 @@ error_t driver_bind(Driver* driver, Device* device) {
goto error;
}
if (driver->startDevice != nullptr) {
error = driver->startDevice(device);
if (driver->start_device != nullptr) {
error = driver->start_device(device);
if (error != ERROR_NONE) {
goto error;
}
@@ -187,8 +187,8 @@ error_t driver_unbind(Driver* driver, Device* device) {
goto error;
}
if (driver->stopDevice != nullptr) {
error = driver->stopDevice(device);
if (driver->stop_device != nullptr) {
error = driver->stop_device(device);
if (error != ERROR_NONE) {
goto error;
}
+3 -3
View File
@@ -8,10 +8,10 @@ extern "C" {
Driver root_driver = {
.name = "root",
.compatible = (const char*[]) { "root", nullptr },
.startDevice = nullptr,
.stopDevice = nullptr,
.start_device = nullptr,
.stop_device = nullptr,
.api = nullptr,
.deviceType = nullptr,
.device_type = nullptr,
.owner = nullptr,
.driver_private = nullptr
};