드라이버가 출력되면
probe of [driver] rejects match -19
Linux 오류 -19는 해당 장치가 없음을 의미합니다. 이는 로드된 드라이버가 해당 장치를 찾을 수 없다는 의미입니까?
답변1
최신 Linux 커널의 경우 OP에 보고된 버그는 다음과 같습니다./drivers/base/dd.c의 일부 코드:
if (dev->bus->probe)
ret = dev->bus->probe(dev);
else if (drv->probe)
ret = drv->probe(dev);
switch (ret) {
…
case -ENODEV:
case -ENXIO:
pr_debug("%s: probe of %s rejects match %d\n",
drv->name, dev_name(dev), ret);
break;
…
즉, 프로브가 ENODEV 또는 ENXIO를 반환하는 경우입니다.
19가 신고됐다고 했으니 정말 그렇군요.에노데프이것은 당신이 옳았다는 것을 의미합니다:해당 장치 없음
드라이버/장치에 대해 많이 공개하지 않았기 때문에...개인 개발인 경우를 대비해 위에 링크된 코드 시작 부분에 있는 간략한 알림을 고려하세요.
때로는 드라이버 검색 순서가 중요하지만 커널에 항상 종속성 정보가 있는 것은 아닙니다. 즉, 일부 드라이버는 의존하는 리소스를 사용할 수 있기 전에 검색됩니다. 예를 들어 SDHCI 드라이버는 초기화하기 전에 먼저 i2c GPIO 컨트롤러의 GPIO 라인이 필요할 수 있습니다. 필요한 리소스를 아직 사용할 수 없는 경우드라이버는 프로빙 후크에서 -EPROBE_DEFER를 반환하여 프로빙 연기를 요청할 수 있습니다.