Что произойдет, если я попытаюсь использовать драйвер устройства из оболочки, а он уже используется ядром?

Что произойдет, если я попытаюсь использовать драйвер устройства из оболочки, а он уже используется ядром?

Вот такая ситуация. Я новичок во встроенном Linux и пытаюсь протестировать некоторые команды для драйвера светодиода LP5521. На моей плате есть RGB-светодиод с этой микросхемой контроллера, и он инициализируется с помощью шаблона "пульса" непосредственно в дереве устройств. Поэтому светодиод начинает мигать, как только плата загружается.

Меня попросили попробовать изменить схему мигания контроллера из командной строки и в целом поиграться с LP5521, чтобы ознакомиться с ним.

Я нашел в документации драйвера LP5521https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/leds/leds-lp55xx.txtэтот пример:

For example, run blinking pattern in engine #1 of LP5521
echo 1 > /sys/bus/i2c/devices/xxxx/select_engine
echo 1 > /sys/class/firmware/lp5521/loading
echo "4000600040FF6000" > /sys/class/firmware/lp5521/data
echo 0 > /sys/class/firmware/lp5521/loading
echo 1 > /sys/bus/i2c/devices/xxxx/run_engine

Дело в том, что когда я пробую первую строку, я получаю ошибку:

Прямая загрузка прошивки для lp5521 завершилась ошибкой -2

Я понятия не имею, почему это происходит. Я думаю, что я не могу ничего отправить из оболочки, так как ядро ​​уже использует драйвер для шаблона сердцебиения, но я в этом не уверен.

Спасибо!!

Связанный контент