셸에서 장치 드라이버를 사용하려고 하는데 이미 커널에서 사용 중이면 어떻게 되나요?

셸에서 장치 드라이버를 사용하려고 하는데 이미 커널에서 사용 중이면 어떻게 되나요?

이것이 상황이다. 저는 임베디드 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

문제는 첫 번째 줄을 시도할 때 오류가 발생한다는 것입니다.

오류 -2로 인해 lp5521에 대한 직접 펌웨어 로드가 실패했습니다.

왜 이런 일이 일어나는지 전혀 모르겠습니다. 커널이 이미 하트비트 패턴용 드라이버를 사용하고 있기 때문에 쉘에서 아무 것도 보낼 수 없다고 생각하지만 이에 대해서는 잘 모르겠습니다.

감사해요!!

관련 정보