+static int read_sysfs(const char *fname, char *buff, size_t size);
+
+static int switch_tv_layer(struct omapfb_state *ostate, int layer)
+{
+ const char *tmp;
+ struct stat st;
+ char buf[128];
+ int ret;
+
+ tmp = getenv("SDL_OMAP_NO_PANDORA_TV");
+ if (tmp != NULL && !!strtol(tmp, NULL, 0))
+ return 0;
+
+ if (stat("/proc/pandora", &st) != 0)
+ /* not pandora, don't mess with stuff */
+ return 0;
+
+ ret = read_sysfs("/sys/devices/platform/omapdss/display1/enabled",
+ buf, sizeof(buf));
+ if (ret < 0) {
+ err("couldn't check display1 state");
+ return -1;
+ }
+
+ if (strtol(buf, NULL, 0) == 0)
+ /* TV-out not enabled */
+ return 0;
+
+ snprintf(buf, sizeof(buf),
+ "sudo -n /usr/pandora/scripts/op_tvout.sh -l %d", layer);
+ ret = system(buf);
+ if (ret >= 0) {
+ ostate->tv_layer = layer;
+ ret = 0;
+ }
+
+ return ret;
+}
+