Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Mar 2003 19:37:35 +0100 (MET)
From:      =?ISO-8859-2?Q?Marcin_CIE=A6LAK?= <saper@sgh.waw.pl>
To:        freebsd-current@FreeBSD.org
Cc:        freebsd-emulation@FreeBSD.org, <vsilyaev@mindspring.com>, <saper@system.pl>
Subject:   Fix for rtc, vmware modules and post-500104 -current
Message-ID:  <Pine.SOL.4.43.0303051932230.27381-300000@akson.sgh.waw.pl>

index | next in thread | raw e-mail

[-- Attachment #1 --]

See the patches enclosed to emulators/rtc
and emulators/vmware2 ports.

Tested only for -current with:

#define __FreeBSD_version 500104

-- 
              << Marcin Cieślak // saper@sgh.waw.pl >>

[-- Attachment #2 --]
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/rtc/Makefile,v
retrieving revision 1.12
diff -u -u -r1.12 Makefile
--- Makefile	16 Sep 2001 07:01:44 -0000	1.12
+++ Makefile	5 Mar 2003 17:36:37 -0000
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	rtc
-PORTVERSION=	2001.09.16.1
+PORTVERSION=	2002.03.05.1
 CATEGORIES=	emulators linux
 MASTER_SITES=	# none
 DISTFILES=	# none
Index: files/rtc.c
===================================================================
RCS file: /home/ncvs/ports/emulators/rtc/files/rtc.c,v
retrieving revision 1.6
diff -u -u -r1.6 rtc.c
--- files/rtc.c	16 Sep 2001 07:05:18 -0000	1.6
+++ files/rtc.c	5 Mar 2003 17:36:25 -0000
@@ -85,6 +85,14 @@
 static int rtc_modeevent(module_t mod, int cmd, void *arg);
 
 static struct cdevsw rtc_cdevsw = {
+#if __FreeBSD_version >= 500104
+	.d_open =	rtc_open,
+	.d_close =	rtc_close,
+	.d_ioctl =	rtc_ioctl,
+	.d_poll =	rtc_poll,
+	.d_name =	DEVICE_NAME,
+	.d_maj =	CDEV_MAJOR,
+#else
 	/* open */	rtc_open,
 	/* close */	rtc_close,
 	/* read */	noread,
@@ -101,6 +109,7 @@
 #if __FreeBSD_version <= 500018
 	/* bmaj */	-1,
 #endif
+#endif 
 #if __FreeBSD_version >= 500018 || __FreeBSD_version >= 430000
 	/* kqfilter */	nokqfilter,
 #endif
@@ -264,11 +273,13 @@
 static int
 init_module(void)
 {
-int error;
+	int error = 0;
 
+#if __FreeBSD_version < 500104
    	error = cdevsw_add(&rtc_cdevsw);
 	if (error) 
 		return error;
+#endif
 
 	return error;
 }
@@ -286,7 +297,9 @@
 		DLog(Lfail, "%p busy", sc);
 		return error;
 	}
+#if __FreeBSD_version < 500104
 	error = cdevsw_remove(&rtc_cdevsw);
+#endif
 	DLog(Linfo, "return %d", error);
 	return error;
 }

[-- Attachment #3 --]
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/vmware2/Makefile,v
retrieving revision 1.48
diff -u -u -r1.48 Makefile
--- Makefile	21 Feb 2003 11:59:00 -0000	1.48
+++ Makefile	5 Mar 2003 18:27:21 -0000
@@ -93,6 +93,9 @@
 .if ${OSVERSION} >= 500027
 	cat ${FILESDIR}/pmap.patch | (cd ${WRKSRC} && patch) > /dev/null 2>&1
 .endif
+.if ${OSVERSION} >= 500104 
+	cat ${FILESDIR}/cdevsw.patch | (cd ${WRKSRC} && patch) > /dev/null 2>&1
+.endif
 	${CP} ${FILESDIR}/Makefile ${WRKSRC}
 	${CP} ${FILESDIR}/Makefile.vmmon ${WRKSRC}/vmmon-only/Makefile
 	${RM} -rf ${WRKSRC}/vmmon-only/linux/
Index: files/cdevsw.patch
===================================================================
RCS file: files/cdevsw.patch
diff -N files/cdevsw.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/cdevsw.patch	5 Mar 2003 18:25:13 -0000
@@ -0,0 +1,130 @@
+--- vmmon-only/freebsd/driver.c_original	Wed Mar  5 19:22:35 2003
++++ vmmon-only/freebsd/driver.c	Wed Mar  5 19:22:44 2003
+@@ -155,6 +155,14 @@
+ 
+ /* static struct cdevsw vmmon_cdevsw = { */
+ static struct cdevsw vmmon_cdevsw = {
++#if __FreeBSD_version >= 500104
++	.d_open =	FreeBSD_Driver_Open,
++	.d_close =	FreeBSD_Driver_Close,
++	.d_ioctl =	FreeBSD_Driver_Ioctl,
++	.d_poll =	FreeBSD_Driver_Poll,
++	.d_name =	DEVICE_NAME,
++	.d_maj =	CDEV_MAJOR
++#else
+ 	/* open */	FreeBSD_Driver_Open,
+ 	/* close */	FreeBSD_Driver_Close,
+ 	/* read */	noread,
+@@ -169,8 +177,7 @@
+ 	/* psize */	nopsize,
+ 	/* flags */	0,
+ 	/* bmaj */	-1
+-
+-
++#endif
+ };
+ 
+ 
+@@ -242,7 +249,11 @@
+    sprintf(freebsdState.deviceBuf,DEVICE_NAME);
+    freebsdState.major = CDEV_MAJOR;
+    freebsdState.minor = CDEV_MINOR;
++#if __FreeBSD_version < 500104
+    retval = cdevsw_add(&vmmon_cdevsw);
++#else
++   retval = 0;
++#endif
+ 
+ #endif
+    if (retval) {
+@@ -273,12 +284,14 @@
+    int retval=0;
+    
+    destroy_dev(vmmon_dev);
++#if __FreeBSD_version < 500104
+    retval = cdevsw_remove(&vmmon_cdevsw);
+    if (retval) {
+       Warning("Module %s: error unregistering\n", freebsdState.deviceBuf);
+    } else {
+       Log("Module %s: unloaded\n", freebsdState.deviceBuf);
+    }
++#endif
+ 	
+    return 0;
+ }
+--- vmnet-only/freebsd/vmnet.c_original	Wed Mar  5 19:21:51 2003
++++ vmnet-only/freebsd/vmnet.c	Wed Mar  5 19:22:00 2003
+@@ -103,6 +103,16 @@
+ static int vmnet_modeevent(module_t mod, int cmd, void *arg);
+ 
+ static struct cdevsw vmnet_cdevsw = {
++#if __FreeBSD_version >= 500104
++	.d_open = 	vmnet_open,
++	.d_close = 	vmnet_close,
++	.d_read = 	vmnet_read,
++	.d_write = 	vmnet_write,
++	.d_ioctl = 	vmnet_ioctl,
++	.d_poll = 	vmnet_poll,
++	.d_name = 	DEVICE_NAME,
++	.d_maj = 	CDEV_MAJOR
++#else
+ 	/* open */	vmnet_open,
+ 	/* close */	vmnet_close,
+ 	/* read */	vmnet_read,
+@@ -115,10 +125,11 @@
+ 	/* maj */	CDEV_MAJOR,
+ 	/* dump */	nodump,
+ 	/* psize */	nopsize,
+-	/* flags */	0,
+-	/* bmaj */	-1
++	/* flags */	0, -/* bmaj */	-1
++#endif
+ };
+ 
++
+ /* 
+  * Now declare the module to the system. 
+  * IMPORTANT: Must be before netgraph node declaration.
+@@ -164,7 +175,7 @@
+ 
+ 	s = splimp();
+ 	if_attach(ifp);
+-	ether_ifattach(ifp, ETHER_BPF_SUPPORTED);
++	ether_ifattach(ifp);
+ 	bpfattach(ifp, DLT_EN10MB, sizeof(struct ether_header));
+ 	splx(s);
+ 	
+@@ -604,11 +615,13 @@
+ static int
+ init_module(void)
+ {
+-int error;
++	int error = 0;
+ 
++#if __FreeBSD_version < 500104
+    	error = cdevsw_add(&vmnet_cdevsw);
+ 	if (error) 
+ 		return error;
++#endif
+ 
+ 	return error;
+ }
+@@ -618,7 +631,7 @@
+ static int
+ cleanup_module(void)
+ {
+-	int error;
++	int error = 0;
+ 	struct vmnet_softc *sc;
+ 
+ 	DLog(Lenter, "");
+@@ -629,7 +642,9 @@
+ 			return error;
+ 		}
+    	}
++#if __FreeBSD_version < 500104
+ 	error = cdevsw_remove(&vmnet_cdevsw);
++#endif
+ 	DLog(Linfo, "return %d", error);
+ 	return error;
+ }
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.4.43.0303051932230.27381-300000>