From 9b02e4781a46d5188441d6743802d6e72a017801 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Mon, 14 Aug 2017 14:43:13 +0300 Subject: [PATCH] libweston: add name to weston_head Heads need to be named, so they can be referenced in logs and configuration sources. When clone mode is implemented, output and head names may differ. Signed-off-by: Pekka Paalanen Reviewed-by: Derek Foreman Reviewed-by: Ian Ray Reviewed-by: Daniel Stone Acked-by: Derek Foreman --- libweston/compositor.c | 10 ++++++++-- libweston/compositor.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index f5695f87..5ae35d30 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -4424,14 +4424,18 @@ weston_head_from_resource(struct wl_resource *resource) /** Initialize a pre-allocated weston_head * * \param head The head to initialize. + * \param name The head name, e.g. the connector name or equivalent. * * The head will be safe to attach, detach and release. * + * The name is used in logs, and can be used by compositors as a configuration + * identifier. + * * \memberof weston_head * \internal */ static void -weston_head_init(struct weston_head *head) +weston_head_init(struct weston_head *head, const char *name) { /* Add some (in)sane defaults which can be used * for checking if an output was properly configured @@ -4440,6 +4444,7 @@ weston_head_init(struct weston_head *head) wl_list_init(&head->output_link); wl_list_init(&head->resource_list); + head->name = strdup(name); } /** Attach a head to an inactive output @@ -4515,6 +4520,7 @@ weston_head_release(struct weston_head *head) free(head->make); free(head->model); free(head->serial_number); + free(head->name); } /** Store monitor make, model and serial number @@ -5019,7 +5025,7 @@ weston_output_init(struct weston_output *output, wl_list_init(&output->head_list); - weston_head_init(&output->head); + weston_head_init(&output->head, name); /* Add some (in)sane defaults which can be used * for checking if an output was properly configured diff --git a/libweston/compositor.h b/libweston/compositor.h index d606fc9b..e7d96c9b 100644 --- a/libweston/compositor.h +++ b/libweston/compositor.h @@ -166,6 +166,8 @@ struct weston_head { char *serial_number; /**< monitor serial */ uint32_t subpixel; /**< enum wl_output_subpixel */ bool connection_internal; /**< embedded monitor (e.g. laptop) */ + + char *name; /**< head name, e.g. connector name */ }; struct weston_output {