/**
* igt_debugfs_fopen:
- * @debugfs: debugfs access structure
* @filename: name of the debugfs node to open
* @mode: mode string as used by fopen()
*
* This opens a debugfs file as a libc FILE. The filename should be
* relative to the drm device's root, i.e without "drm/<minor>".
+ *
+ * Returns:
+ * The libc FILE pointer for the debugfs file or NULL if that didn't work out.
*/
-FILE *igt_debugfs_fopen(igt_debugfs_t *debugfs, const char *filename,
+FILE *igt_debugfs_fopen(const char *filename,
const char *mode)
{
char buf[1024];
+ igt_debugfs_t *debugfs = __igt_debugfs_singleton();
+
+ if (!debugfs)
+ return NULL;
+
sprintf(buf, "%s/%s", debugfs->dri_path, filename);
return fopen(buf, mode);
}
size_t written;
int ret;
- ctl = igt_debugfs_fopen(debugfs, "i915_display_crc_ctl", "r+");
+ ctl = igt_debugfs_fopen("i915_display_crc_ctl", "r+");
igt_require_f(ctl,
"No display_crc_ctl found, kernel too old\n");
written = fwrite(cmd, 1, strlen(cmd), ctl);
void igt_debugfs_init(igt_debugfs_t *debugfs);
int igt_debugfs_open(const char *filename, int mode);
-FILE *igt_debugfs_fopen(igt_debugfs_t *debugfs, const char *filename,
+FILE *igt_debugfs_fopen(const char *filename,
const char *mode);
/*
FILE *status;
char str[64] = {};
- status = igt_debugfs_fopen(&data->debugfs, "i915_fbc_status", "r");
+ status = igt_debugfs_fopen("i915_fbc_status", "r");
+ igt_assert(status);
+
fread(str, sizeof(str) - 1, 1, status);
fclose(status);
return strstr(str, "FBC enabled") != NULL;
igt_debugfs_init(&data.debugfs);
igt_pipe_crc_check(&data.debugfs);
- status = igt_debugfs_fopen(&data.debugfs, "i915_fbc_status", "r");
+ status = igt_debugfs_fopen("i915_fbc_status", "r");
igt_require_f(status, "No i915_fbc_status found\n");
fread(buf, sizeof(buf), 1, status);
fclose(status);
FILE *ctl;
size_t written;
- ctl = igt_debugfs_fopen(&data->debugfs, "i915_display_crc_ctl", "r+");
+ ctl = igt_debugfs_fopen("i915_display_crc_ctl", "r+");
written = fwrite(cmd, 1, strlen(cmd), ctl);
fflush(ctl);
igt_assert_cmpint(written, ==, (strlen(cmd)));