if (found)
return 0;
#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
- char kbusid[1024], sbusid[1024];
+ char sbusid[1024];
char oid[128];
- int domain, bus, dev, func;
int i, modesetting, ret;
size_t len;
- ret = sscanf(busid, "pci:%04x:%02x:%02x.%d", &domain, &bus, &dev,
- &func);
- if (ret != 4)
- return -EINVAL;
- snprintf(kbusid, sizeof(kbusid), "pci:%04x:%02x:%02x.%d", domain, bus,
- dev, func);
-
/* How many GPUs do we expect in the machine ? */
- for (i = 0; i < 16; i++) {
+ for (i = 0; i < 10; i++) {
snprintf(oid, sizeof(oid), "hw.dri.%d.busid", i);
len = sizeof(sbusid);
ret = sysctlbyname(oid, sbusid, &len, NULL, 0);
continue;
return -EINVAL;
}
- if (strcmp(sbusid, kbusid) != 0)
+ if (strcmp(sbusid, busid) != 0)
continue;
snprintf(oid, sizeof(oid), "hw.dri.%d.modesetting", i);
len = sizeof(modesetting);