5.22: Техническое задание — Драйвер "RGB LED class" для Linux ============================================================= Цель ---- Разработка ядрового Linux-драйвера для управления тремя светодиодами (R, G, B) с использованием подсистемы **LED Class** (`/sys/class/leds`), с полной интеграцией через **Device Tree**. Поддержка должна включать: - управление через sysfs (`brightness`, `trigger`) - автоматическую регистрацию через Device Tree - использование пользовательских триггеров - возможность кастомного поведения (например, мигать по расписанию) Архитектура ----------- Каждый цвет RGB-светодиода должен быть представлен **отдельным LED-устройством** с отдельным узлом в DT и соответствующим `struct led_classdev`. Узел в Device Tree для каждого цвета будет выглядеть так:: ledred@0 { compatible = "kontakts,rgb-led"; label = "ledred"; gpios = <&gpio 16 0>; default-state = "off"; }; ledgreen@1 { compatible = "kontakts,rgb-led"; label = "ledgreen"; gpios = <&gpio 20 0>; default-state = "off"; }; ledblue@2 { compatible = "kontakts,rgb-led"; label = "ledblue"; gpios = <&gpio 21 0>; default-state = "off"; }; Функциональные требования ------------------------- 1. Регистрация каждого узла в качестве `led_classdev` устройства. 2. Установка имени устройства в `/sys/class/leds/