From 21c70a626cef72804f0ea270ffbae803e76e5b71 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 10 Jan 2019 09:43:30 +0200 Subject: Card: add support to get the driver name Add support to get the driver name. Signed-off-by: Tomi Valkeinen --- kms++/inc/kms++/card.h | 9 +++++++++ kms++/src/card.cpp | 9 +++++++++ 2 files changed, 18 insertions(+) (limited to 'kms++') diff --git a/kms++/inc/kms++/card.h b/kms++/inc/kms++/card.h index a3479d1..77f97a3 100644 --- a/kms++/inc/kms++/card.h +++ b/kms++/inc/kms++/card.h @@ -51,6 +51,8 @@ public: int disable_all(); + const std::string& version_name() const { return m_version_name; } + private: void restore_modes(); @@ -68,5 +70,12 @@ private: bool m_has_atomic; bool m_has_universal_planes; + + int m_version_major; + int m_version_minor; + int m_version_patchlevel; + std::string m_version_name; + std::string m_version_date; + std::string m_version_desc; }; } diff --git a/kms++/src/card.cpp b/kms++/src/card.cpp index ea0d6a7..a5c6d53 100644 --- a/kms++/src/card.cpp +++ b/kms++/src/card.cpp @@ -30,6 +30,15 @@ Card::Card(const std::string& device) throw invalid_argument(string(strerror(errno)) + " opening " + device); m_fd = fd; + drmVersionPtr ver = drmGetVersion(m_fd); + m_version_major = ver->version_major; + m_version_minor = ver->version_minor; + m_version_patchlevel = ver->version_patchlevel; + m_version_name = string(ver->name, ver->name_len); + m_version_date = string(ver->date, ver->date_len); + m_version_desc = string(ver->desc, ver->desc_len); + drmFreeVersion(ver); + int r; r = drmSetMaster(m_fd); -- cgit v1.2.3