如果我嘗試從 shell 使用裝置驅動程式並且該驅動程式已被核心使用,會發生什麼情況?

如果我嘗試從 shell 使用裝置驅動程式並且該驅動程式已被核心使用,會發生什麼情況?

情況就是這樣。我是嵌入式 Linux 新手,我正在嘗試測試 LED 驅動器 LP5521 的一些命令。我的主機板有一個帶有該控制器 IC 的 RGB LED,並且直接在設備樹中使用“心跳”模式對其進行初始化。因此,開發板一啟動,LED 就會開始閃爍。

我被要求嘗試從命令列更改控制器的閃爍模式,並總體上使用 LP5521 來熟悉它。

我在LP5521驅動文件中找到了https://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

我完全不知道為什麼會發生這種事。我認為我無法從 shell 發送任何內容,因為核心已經使用心跳模式的驅動程序,但我對此不確定。

謝謝!

相關內容