Commit 1bbe0b11 authored by Michał Winiarski's avatar Michał Winiarski

lib/igt_sysfs: Simplify obtaining sysfs path

Now that we've extracted card index, we no longer have the need to
iterate over device nodes.

v2: Drop ret.
Signed-off-by: Michał Winiarski's avatarMichał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
parent 8e3fe6a3
......@@ -106,30 +106,13 @@ char *igt_sysfs_path(int device, char *path, int pathlen)
if (fstat(device, &st) || !S_ISCHR(st.st_mode))
return NULL;
for (int n = 0; n < 16; n++) {
int len, ret, maj, min;
FILE *file;
snprintf(path, pathlen, "/sys/dev/char/%d:%d",
major(st.st_rdev), minor(st.st_rdev));
len = snprintf(path, pathlen, "/sys/class/drm/card%d", n);
sprintf(path + len, "/dev");
file = fopen(path, "r");
if (!file)
continue;
ret = fscanf(file, "%d:%d", &maj, &min);
fclose(file);
if (ret != 2 || major(st.st_rdev) != maj ||
minor(st.st_rdev) != min)
continue;
path[len] = '\0';
return path;
}
if (access(path, F_OK))
return NULL;
return NULL;
return path;
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment