diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2019-12-03 16:41:39 +0200 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2019-12-04 18:56:03 +0200 |
commit | e1503da2d461b2a8d92808d6945a3cd30e48d21b (patch) | |
tree | c322d12d5708aca9d622fe8593d40d6a33dd4802 /lib/igt_kms.c | |
parent | 694804c6fcd91452f614710818a250b1da696398 (diff) |
lib/igt_kms: Add igt_connector_sysfs_open()
Add a helper to open the sysfs directory for a connector.
v2: Drop the useless kmstest_connector_dirname() return value check
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'lib/igt_kms.c')
-rw-r--r-- | lib/igt_kms.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 44647a22..830cee78 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -965,6 +965,40 @@ static void reset_connectors_at_exit(int sig) igt_reset_connectors(); } +static char *kmstest_connector_dirname(int idx, + uint32_t connector_type, + uint32_t connector_type_id, + char *name, int namelen) +{ + snprintf(name, namelen, "card%d-%s-%d", idx, + kmstest_connector_type_str(connector_type), + connector_type_id); + + return name; +} + +int igt_connector_sysfs_open(int drm_fd, + drmModeConnector *connector) +{ + char name[80]; + int dir, conn_dir; + + dir = igt_sysfs_open(drm_fd); + if (dir < 0) + return dir; + + kmstest_connector_dirname(igt_device_get_card_index(drm_fd), + connector->connector_type, + connector->connector_type_id, + name, sizeof(name)); + + conn_dir = openat(dir, name, O_RDONLY); + + close(dir); + + return conn_dir; +} + /** * kmstest_force_connector: * @fd: drm file descriptor |