svn commit: trunk/busybox/util-linux
vda at busybox.net
vda at busybox.net
Sat Sep 30 16:23:00 UTC 2006
Author: vda
Date: 2006-09-30 09:22:59 -0700 (Sat, 30 Sep 2006)
New Revision: 16270
Log:
fbset: add support for -a (bug 1017)
Modified:
trunk/busybox/util-linux/fbset.c
Changeset:
Modified: trunk/busybox/util-linux/fbset.c
===================================================================
--- trunk/busybox/util-linux/fbset.c 2006-09-30 08:32:41 UTC (rev 16269)
+++ trunk/busybox/util-linux/fbset.c 2006-09-30 16:22:59 UTC (rev 16270)
@@ -21,6 +21,7 @@
OPT_CHANGE = (1 << 0),
OPT_INFO = (1 << 1),
OPT_READMODE = (1 << 2),
+ OPT_ALL = (1 << 9),
CMD_FB = 1,
CMD_DB = 2,
@@ -63,6 +64,7 @@
static unsigned int g_options = 0;
/* Stuff stolen from the kernel's fb.h */
+#define FB_ACTIVATE_ALL 64
enum {
FBIOGET_VSCREENINFO = 0x4600,
FBIOPUT_VSCREENINFO = 0x4601
@@ -357,9 +359,12 @@
varset.hsync_len = strtoul(argv[6], 0, 0);
varset.vsync_len = strtoul(argv[7], 0, 0);
break;
- case CMD_CHANGE:
- g_options |= OPT_CHANGE;
- break;
+ case CMD_ALL:
+ g_options |= OPT_ALL;
+ break;
+ case CMD_CHANGE:
+ g_options |= OPT_CHANGE;
+ break;
#ifdef CONFIG_FEATURE_FBSET_FANCY
case CMD_XRES:
varset.xres = strtoul(argv[1], 0, 0);
@@ -367,7 +372,7 @@
case CMD_YRES:
varset.yres = strtoul(argv[1], 0, 0);
break;
- case CMD_DEPTH:
+ case CMD_DEPTH:
varset.bits_per_pixel = strtoul(argv[1], 0, 0);
break;
#endif
@@ -392,15 +397,18 @@
bb_perror_msg_and_die("fbset(ioctl)");
if (g_options & OPT_READMODE) {
if (!readmode(&var, modefile, mode)) {
- bb_error_msg("Unknown video mode `%s'", mode);
+ bb_error_msg("unknown video mode '%s'", mode);
return EXIT_FAILURE;
}
}
setmode(&var, &varset);
- if (g_options & OPT_CHANGE)
+ if (g_options & OPT_CHANGE) {
+ if (g_options & OPT_ALL)
+ var.activate = FB_ACTIVATE_ALL;
if (ioctl(fh, FBIOPUT_VSCREENINFO, &var))
bb_perror_msg_and_die("fbset(ioctl)");
+ }
showmode(&var);
/* Don't close the file, as exiting will take care of that */
/* close(fh); */
More information about the busybox-cvs
mailing list