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>
