Module Name:    xsrc
Committed By:   tsutsui
Date:           Sun Aug  9 16:01:19 UTC 2020

Modified Files:
        xsrc/external/mit/xorg-server.old/dist/hw/sun: sun.h sunCfb.c sunInit.c
            sunIo.c

Log Message:
Cherry-pick to sync with xorg-server:

 Inform detected keyboard type and layout via LogMessage().
 Remove a leftover variable for non-XKB autorepeat.
 Remove redundant command option arg checks.
 Put probed framebuffer info to a log file by default.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h \
    xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c \
    xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c
cvs rdiff -u -r1.3 -r1.4 \
    xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h
diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.3
--- xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2	Sat Aug  1 13:40:55 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h	Sun Aug  9 16:01:19 2020
@@ -295,10 +295,11 @@ typedef struct {
 
 /* sunInit.c */
 extern EventList	*sunEvents;
-extern Bool		sunAutoRepeatHandlersInstalled;
 extern sunFbDataRec	sunFbData[];
 extern fbFd		sunFbs[];
 extern Bool		sunSwapLkeys;
+extern Bool		sunForceMono;
+extern Bool		sunDebug;
 extern Bool		sunFlipPixels;
 extern Bool		sunFbInfo;
 extern Bool		sunCG4Frob;
Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.3
--- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2	Sat Aug  1 13:40:55 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c	Sun Aug  9 16:01:19 2020
@@ -98,7 +98,7 @@ static void CGSaveColormap(ScreenPtr);
 static void CGRestoreColormap(ScreenPtr);
 static void CGScreenInitCommon(ScreenPtr);
 static void CGScreenInit(ScreenPtr);
-static void checkMono(int, char **);
+static void checkMono(void);
 #ifdef INCLUDE_CG2_HEADER
 static void CG2UpdateColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *);
 static void CG2GetColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *);
@@ -307,13 +307,11 @@ CGScreenInit(ScreenPtr pScreen)
 }
 
 static void
-checkMono(int argc, char** argv)
+checkMono(void)
 {
-    int i;
 
-    for (i = 1; i < argc; i++)
-	if (strcmp (argv[i], "-mono") == 0)
-	    ErrorF ("-mono not appropriate for CG3/CG4/CG6\n");
+    if (sunForceMono)
+	ErrorF("-mono not appropriate for CG3/CG4/CG6\n");
 }
 
 /*
@@ -334,7 +332,7 @@ sunCG3Init(
     char    	  **argv   	/* The arguments themselves. Don't change! */
 )
 {
-    checkMono (argc, argv);
+    checkMono();
     sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA;
     return sunInitCommon (screen, pScreen, (off_t) CG3_MMAP_OFFSET,
 	sunCfbScreenInit, CGScreenInit,
@@ -349,7 +347,7 @@ sunTCXInit(
     char    	  **argv   	/* The arguments themselves. Don't change! */
 )
 {
-    checkMono (argc, argv);
+    checkMono();
     sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA;
     return sunInitCommon (screen, pScreen, (off_t) 0,
 	sunCfbScreenInit, CGScreenInit,
@@ -454,18 +452,12 @@ sunCG2Init(
     char**	argv	   	/* The arguments themselves. Don't change! */
 )
 {
-    int		i;
     Bool	ret;
-    Bool	mono = FALSE;
-
-    for (i = 1; i < argc; i++)
-	if (strcmp (argv[i], "-mono") == 0)
-	    mono = TRUE;
 
     sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA;
     pScreen->SaveScreen = CG2SaveScreen;
 #ifndef LOWMEMFTPT
-    if (mono) {
+    if (sunForceMono) {
 	pScreen->whitePixel = 0;
 	pScreen->blackPixel = 1;
 	sunFbs[screen].info.fb_depth = 1;
@@ -514,7 +506,7 @@ sunCG4Init(
     char**	argv    	/* The arguments themselves. Don't change! */
 )
 {
-    checkMono (argc, argv);
+    checkMono();
     if (sunCG4Frob)
 	sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA;
     else
@@ -539,7 +531,7 @@ sunCG6Init(
 {
     pointer	fb;
 
-    checkMono (argc, argv);
+    checkMono();
     if (!sunScreenAllocate (pScreen))
 	return FALSE;
     if (!sunFbs[screen].fb) {
Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.3
--- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2	Tue Aug  4 14:34:35 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c	Sun Aug  9 16:01:19 2020
@@ -205,6 +205,7 @@ ddxProcessArgument(int argc, char *argv[
 	return 1;
     }
     if (strcmp (argv[i], "-debug") == 0) {	/* -debug */
+	sunDebug = TRUE;
 	return 1;
     }
     if (strcmp (argv[i], "-dev") == 0) {	/* -dev /dev/mumble */
@@ -212,6 +213,7 @@ ddxProcessArgument(int argc, char *argv[
 	return 2;
     }
     if (strcmp (argv[i], "-mono") == 0) {	/* -mono */
+	sunForceMono = TRUE;
 	return 1;
     }
     if (strcmp (argv[i], "-zaphod") == 0) {	/* -zaphod */

Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.4
--- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.3	Tue Aug  4 14:34:35 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c	Sun Aug  9 16:01:19 2020
@@ -130,8 +130,9 @@ static Bool	sunDevsInited = FALSE;
 
 EventList *sunEvents = NULL;
 
-Bool sunAutoRepeatHandlersInstalled;	/* FALSE each time InitOutput called */
 Bool sunSwapLkeys = FALSE;
+Bool sunDebug = FALSE;
+Bool sunForceMono = FALSE;
 Bool sunFlipPixels = FALSE;
 Bool sunFbInfo = FALSE;
 Bool sunCG4Frob = FALSE;
@@ -307,6 +308,11 @@ OpenFrameBuffer(
 	    }
 	}
 	if (ret) {
+	    int verb = 1;
+
+	    if (sunFbInfo)
+		verb = -1;
+
 	    devFbUsed = TRUE;
 	    if (fbattr) {
 		if (fbattr->fbtype.fb_type >= XFBTYPE_LASTPLUSONE) {
@@ -325,16 +331,14 @@ OpenFrameBuffer(
 		    if (sunFbData[fbattr->emu_types[_i]].init) {
 			sunFbs[screen].info.fb_type = fbattr->emu_types[_i];
 			ret = TRUE;
-			if (sunFbInfo)
-			    ErrorF ("%s is emulating a %s\n", device,
-				sunFbData[fbattr->fbtype.fb_type].name);
+			LogMessageVerb(X_INFO, verb, "%s is emulating a %s\n",
+			    device, sunFbData[fbattr->fbtype.fb_type].name);
 			break;
 		    }
 		}
 	    }
-	    if (sunFbInfo)
-		ErrorF ("%s is really a %s\n", device,
-		    sunFbData[fbattr ? fbattr->fbtype.fb_type : sunFbs[screen].info.fb_type].name);
+	    LogMessageVerb(X_INFO, verb, "%s is really a %s\n", device,
+		sunFbData[fbattr ? fbattr->fbtype.fb_type : sunFbs[screen].info.fb_type].name);
 	}
     }
     if (!ret)
@@ -527,7 +531,13 @@ OsVendorInit(void)
 	if (sunPtrPriv.fd < 0)
 	    FatalError ("Cannot open /dev/mouse, error %d\n", errno);
 	getKbdType ();
-	if (sunKbdPriv.type == KB_SUN4) {
+	switch (sunKbdPriv.type) {
+	case KB_SUN2:
+	case KB_SUN3:
+	    LogMessage(X_INFO, "Sun type %d Keyboard\n", sunKbdPriv.type);
+	    break;
+	case KB_SUN4:
+#define LAYOUT_US5	33
 	    (void) ioctl (sunKbdPriv.fd, KIOCLAYOUT, &sunKbdPriv.layout);
 	    if (sunKbdPriv.layout < 0 ||
 		sunKbdPriv.layout > sunMaxLayout ||
@@ -535,6 +545,12 @@ OsVendorInit(void)
 		FatalError ("Unsupported keyboard type 4 layout %d\n",
 			    sunKbdPriv.layout);
 	    sunKeySyms[KB_SUN4].map = sunType4KeyMaps[sunKbdPriv.layout];
+	    LogMessage(X_INFO, "Sun type %d Keyboard, layout %d\n",
+		sunKbdPriv.layout >= LAYOUT_US5 ? 5 : 4, sunKbdPriv.layout);
+	    break;
+	default:
+	    LogMessage(X_INFO, "Unknown keyboard type\n");
+	    break;
         }
 	inited = 1;
     }
@@ -572,10 +588,8 @@ InitOutput(ScreenInfo *pScreenInfo, int 
 	monitorResolution = 90;
     if (RunFromSigStopParent)
 	nonBlockConsole = 1;
-    for (i = 1; i < argc; i++) {
-	if (!strcmp(argv[i],"-debug"))
-	    nonBlockConsole = 0;
-    }
+    if (sunDebug)
+	nonBlockConsole = 0;
 
     /*
      *	Writes to /dev/console can block - causing an

Reply via email to