@@ -161,18 +161,25 @@ int igt_debugfs_open(const char *filename, int mode)
/**
* 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);
}
@@ -333,7 +340,7 @@ void igt_pipe_crc_check(igt_debugfs_t *debugfs)
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);
@@ -43,7 +43,7 @@ typedef struct {
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);
/*
@@ -239,7 +239,9 @@ static bool fbc_enabled(data_t *data)
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;
@@ -494,7 +496,7 @@ igt_main
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);
@@ -43,7 +43,7 @@ static void test_bad_command(data_t *data, const char *cmd)
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)));
Also add a missing igt_assert to kms_fbc_crc and again add the missing Returns: section to the api doc. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- lib/igt_debugfs.c | 13 ++++++++++--- lib/igt_debugfs.h | 2 +- tests/kms_fbc_crc.c | 6 ++++-- tests/kms_pipe_crc_basic.c | 2 +- 4 files changed, 16 insertions(+), 7 deletions(-)