当驱动程序输出
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 来请求推迟探测