diff options
author | Emil Velikov <emil.velikov@collabora.com> | 2018-04-02 16:41:15 +0100 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2018-04-10 15:42:40 -0400 |
commit | a83ceec868a6d544bc7775a753b67aa40d0d0efc (patch) | |
tree | e8f21385cb1820ef301cb89fae6467fbd2905433 /dri3/dri3_screen.c | |
parent | 9a159f37e00ed47ec8cbff7c57d8787b8f5685f5 (diff) |
dri3: simplify dri3_open() implementation
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Diffstat (limited to 'dri3/dri3_screen.c')
-rw-r--r-- | dri3/dri3_screen.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/dri3/dri3_screen.c b/dri3/dri3_screen.c index 58f5ff71d..1257c0ef4 100644 --- a/dri3/dri3_screen.c +++ b/dri3/dri3_screen.c @@ -32,33 +32,21 @@ #include <drm_fourcc.h> #include <unistd.h> -static inline Bool has_open(const dri3_screen_info_rec *info) { - if (info == NULL) - return FALSE; - - return info->open != NULL || - (info->version >= 1 && info->open_client != NULL); -} - int dri3_open(ClientPtr client, ScreenPtr screen, RRProviderPtr provider, int *fd) { dri3_screen_priv_ptr ds = dri3_screen_priv(screen); const dri3_screen_info_rec *info = ds->info; - int rc; - if (!has_open(info)) + if (info == NULL) return BadMatch; if (info->version >= 1 && info->open_client != NULL) - rc = (*info->open_client) (client, screen, provider, fd); - else - rc = (*info->open) (screen, provider, fd); - - if (rc != Success) - return rc; + return (*info->open_client) (client, screen, provider, fd); + if (info->open != NULL) + return (*info->open) (screen, provider, fd); - return Success; + return BadMatch; } int |