From 57e9b4d30dfd984ce834c3806a819fa1b83ee936 Mon Sep 17 00:00:00 2001
From: notaz <notasas@gmail.com>
Date: Mon, 31 May 2010 22:18:25 +0000
Subject: [PATCH] oshide: drop termios dump/restore, OS already handles that

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@875 be3aeb3a-fb24-0410-a615-afba39da0efa
---
 linux/oshide.c        | 12 ------------
 pandora/picorestore.c | 31 ++++++++-----------------------
 2 files changed, 8 insertions(+), 35 deletions(-)

diff --git a/linux/oshide.c b/linux/oshide.c
index e66aaae..881fcb7 100644
--- a/linux/oshide.c
+++ b/linux/oshide.c
@@ -15,7 +15,6 @@
 #include <linux/kd.h>
 
 #define PFX "oshide: "
-#define TERMIOS_DUMP_FILE "/tmp/pico_tios"
 
 #define FPTR(f) typeof(f) * p##f
 #define FPTR_LINK(xf, dl, f) { \
@@ -169,7 +168,6 @@ static int g_kbdfd;
 static void hidecon_start(void)
 {
 	struct termios kbd_termios;
-	FILE *tios_f;
 	int mode;
 
 	g_kbdfd = open("/dev/tty", O_RDWR);
@@ -188,14 +186,6 @@ static void hidecon_start(void)
 		goto fail;
 	}
 
-	/* dump for picorestore */
-	g_kbd_termios_saved = kbd_termios;
-	tios_f = fopen(TERMIOS_DUMP_FILE, "wb");
-	if (tios_f) {
-		fwrite(&kbd_termios, sizeof(kbd_termios), 1, tios_f);
-		fclose(tios_f);
-	}
-
 	kbd_termios.c_lflag &= ~(ICANON | ECHO); // | ISIG);
 	kbd_termios.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON);
 	kbd_termios.c_cc[VMIN] = 0;
@@ -230,8 +220,6 @@ static void hidecon_end(void)
 	if (tcsetattr(g_kbdfd, TCSAFLUSH, &g_kbd_termios_saved) == -1)
 		perror(PFX "tcsetattr");
 
-	remove(TERMIOS_DUMP_FILE);
-
 	close(g_kbdfd);
 	g_kbdfd = -1;
 }
diff --git a/pandora/picorestore.c b/pandora/picorestore.c
index 6a32755..a278abc 100644
--- a/pandora/picorestore.c
+++ b/pandora/picorestore.c
@@ -5,15 +5,12 @@
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include <linux/fb.h>
-#include <termios.h>
 #include <linux/kd.h>
 
 int main()
 {
 	struct fb_var_screeninfo fbvar;
-	struct termios kbd_termios;
 	int ret, fbdev, kbdfd;
-	FILE *tios_f;
 
 	fbdev = open("/dev/fb0", O_RDWR);
 	if (fbdev == -1) {
@@ -40,28 +37,16 @@ int main()
 end_fb:
 	close(fbdev);
 
-	tios_f = fopen("/tmp/pico_tios", "rb");
-	if (tios_f != NULL) {
-		kbdfd = open("/dev/tty", O_RDWR);
-		if (kbdfd == -1) {
-			perror("open /dev/tty");
-			return 1;
-		}
-
-		if (fread(&kbd_termios, sizeof(kbd_termios), 1, tios_f) == 1) {
-			if (ioctl(kbdfd, KDSETMODE, KD_TEXT) == -1)
-				perror("KDSETMODE KD_TEXT");
+	kbdfd = open("/dev/tty", O_RDWR);
+	if (kbdfd == -1) {
+		perror("open /dev/tty");
+		return 1;
+	}
 
-			printf("restoring termios.. ");
-			if (tcsetattr(kbdfd, TCSAFLUSH, &kbd_termios) == -1)
-				perror("tcsetattr");
-			else
-				printf("ok\n");
-		}
+	if (ioctl(kbdfd, KDSETMODE, KD_TEXT) == -1)
+		perror("KDSETMODE KD_TEXT");
 
-		close(kbdfd);
-		fclose(tios_f);
-	}
+	close(kbdfd);
 
 	return 0;
 }
-- 
2.39.5