From 2891db559365418fe74a9d75d5dfb02566b290b0 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sun, 16 Sep 2012 22:53:35 +0200 Subject: [PATCH] spark: improve hardware_caps detection Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/f0a9b76ef1a97b9b9180727c5d8bb73c62f56e35 Author: Stefan Seyfried Date: 2012-09-16 (Sun, 16 Sep 2012) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libspark/hardware_caps.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/libspark/hardware_caps.c b/libspark/hardware_caps.c index c872658..dda67aa 100644 --- a/libspark/hardware_caps.c +++ b/libspark/hardware_caps.c @@ -13,8 +13,12 @@ #include #include #include +#include +#include + #include +#define FP_DEV "/dev/vfd" static int initialized = 0; static hw_caps_t caps; @@ -33,7 +37,7 @@ hw_caps_t *get_hwcaps(void) strcpy(caps.boxvendor, "SPARK"); const char *tmp; char buf[1024]; - int len = -1; + int len = -1, ret, val; int fd = open("/proc/cmdline", O_RDONLY); if (fd != -1) { len = read(fd, buf, sizeof(buf) - 1); @@ -72,5 +76,16 @@ hw_caps_t *get_hwcaps(void) tmp = "(NO STB_ID FOUND)"; strcpy(caps.boxname, tmp); } + fd = open (FP_DEV, O_RDWR); + if (fd != -1) { + ret = ioctl(fd, VFDGETVERSION, &val); + if (ret < 0) + fprintf(stderr, "[hardware_caps] %s: VFDGETVERSION %m\n", __func__); + else if (val == 1) { /* VFD, others not yet seen in the wild */ + caps.display_type = HW_DISPLAY_LINE_TEXT; + caps.display_xres = 8; + } + close(fd); + } return ∩︀ }