fix build
[libpicofe.git] / pandora / picorestore.c
CommitLineData
f6eaae4f 1#include <stdio.h>
2#include <sys/types.h>
3#include <sys/stat.h>
4#include <fcntl.h>
5#include <unistd.h>
6#include <sys/ioctl.h>
7#include <linux/fb.h>
c66f49e6 8#include <linux/omapfb.h>
f6eaae4f 9#include <linux/kd.h>
10
11int main()
12{
13 struct fb_var_screeninfo fbvar;
24cf9d99 14 struct omapfb_plane_info pi;
15 struct omapfb_mem_info mi;
f6eaae4f 16 int ret, fbdev, kbdfd;
f6eaae4f 17
18 fbdev = open("/dev/fb0", O_RDWR);
19 if (fbdev == -1) {
c66f49e6 20 perror("open fb0");
21 goto end_fb0;
f6eaae4f 22 }
23
24 ret = ioctl(fbdev, FBIOGET_VSCREENINFO, &fbvar);
25 if (ret == -1) {
26 perror("FBIOGET_VSCREENINFO ioctl");
c66f49e6 27 goto end_fb0;
f6eaae4f 28 }
29
30 if (fbvar.yoffset != 0) {
31 printf("fixing yoffset.. ");
32 fbvar.yoffset = 0;
33 ret = ioctl(fbdev, FBIOPAN_DISPLAY, &fbvar);
34 if (ret < 0)
35 perror("ioctl FBIOPAN_DISPLAY");
36 else
37 printf("ok\n");
38 }
39
c66f49e6 40end_fb0:
41 if (fbdev >= 0)
42 close(fbdev);
43
44 fbdev = open("/dev/fb1", O_RDWR);
45 if (fbdev == -1) {
46 perror("open fb1");
47 goto end_fb1;
48 }
49
24cf9d99 50 ret = ioctl(fbdev, OMAPFB_QUERY_PLANE, &pi);
51 ret |= ioctl(fbdev, OMAPFB_QUERY_MEM, &mi);
c66f49e6 52 if (ret != 0)
53 perror("QUERY_*");
54
55 pi.enabled = 0;
24cf9d99 56 ret = ioctl(fbdev, OMAPFB_SETUP_PLANE, &pi);
c66f49e6 57 if (ret != 0)
58 perror("SETUP_PLANE");
59
60 mi.size = 0;
24cf9d99 61 ret = ioctl(fbdev, OMAPFB_SETUP_MEM, &mi);
c66f49e6 62 if (ret != 0)
63 perror("SETUP_MEM");
64
65end_fb1:
66 if (fbdev >= 0)
67 close(fbdev);
f6eaae4f 68
57e9b4d3 69 kbdfd = open("/dev/tty", O_RDWR);
70 if (kbdfd == -1) {
71 perror("open /dev/tty");
72 return 1;
73 }
f6eaae4f 74
57e9b4d3 75 if (ioctl(kbdfd, KDSETMODE, KD_TEXT) == -1)
76 perror("KDSETMODE KD_TEXT");
f6eaae4f 77
57e9b4d3 78 close(kbdfd);
f6eaae4f 79
80 return 0;
81}