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

Tested only for -current with:

#define __FreeBSD_version 500104

-- 
              << Marcin Cieślak // [EMAIL PROTECTED] >>
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;
 }
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;
+ }

Reply via email to