ports/68265: [patch] Make rtc compile on -current (needed for vmware2)

Marc van Kempen marc at bowtie.nl
Thu Jun 24 07:00:54 UTC 2004


>Number:         68265
>Category:       ports
>Synopsis:       [patch] Make rtc compile on -current (needed for vmware2)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 24 07:00:45 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Marc van Kempen
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD b040pc123.up.ac.za 5.2-CURRENT FreeBSD 5.2-CURRENT #1: Wed Jun 16 16:35:48 SAST 2004 marc at host10.meck.bowtie.nl:/usr/obj/usr/ncvs/src/sys/THINKPAD i386

Thinkpad R40
FreeBSD -current from 16 June 2004


	
>Description:
	
rtc fails to compile on -current due to the dev_t changes, this patch
makes it compile again.
>How-To-Repeat:
	
try to compile rtc on -current
>Fix:

	

put the attached file in /usr/ports/emulators/rtc/files and type make.


--- patch-dev_t starts here ---
--- rtc.c.orig	Thu Jun 24 08:39:21 2004
+++ rtc.c	Tue Jun 22 15:46:06 2004
@@ -41,6 +41,10 @@
 #include <sys/uio.h>
 #include <sys/vnode.h>
 
+#if __FreeBSD_version >= 502103
+#include <sys/module.h>
+#endif 
+
 #include <machine/clock.h>
 
 #include "rtc.h"
@@ -67,7 +71,11 @@
 #endif /* DEBUG */
 
 struct rtc_softc {
+#if __FreeBSD_version >= 502103
+	struct cdev *		dev; /* Back reference to device */
+#else
 	dev_t		dev; /* Back reference to device */
+#endif
 	struct {
 	 int	freq;
 	 struct {
@@ -138,7 +146,7 @@
 /* -=-=-=-=-=-=-=-=-= attach/detach device stuff -=-=-=-=-=-=-=-=-= */
 
 static struct rtc_softc *
-rtc_attach(dev_t dev)
+rtc_attach(struct cdev * dev)
 {
 	struct rtc_softc *sc;
 	int unit;
@@ -174,7 +182,11 @@
 }
 
 static int
+#if __FreeBSD_version >= 502103
+rtc_detach(struct cdev * dev, struct rtc_softc *sc) 
+#else
 rtc_detach(dev_t dev, struct rtc_softc *sc) 
+#endif
 {
 	int error=0;
 
@@ -191,7 +203,9 @@
 /* -=-=-=-=-=-=-=-=-= character device stuff -=-=-=-=-=-=-=-=-= */
 
 int 
-#if __FreeBSD_version >= 500023
+#if __FreeBSD_version >= 502103
+rtc_open(struct cdev * dev, int oflag, int otyp, struct thread *p)
+#elif __FreeBSD_version >= 500023
 rtc_open(dev_t dev, int oflag, int otyp, struct thread *p)
 #else
 rtc_open(dev_t dev, int oflag, int otyp, struct proc *p)
@@ -213,7 +227,9 @@
 }
 
 int 
-#if __FreeBSD_version >= 500023
+#if __FreeBSD_version >= 502103
+rtc_close(struct cdev * dev, int fflag, int otyp, struct thread *p)
+#elif __FreeBSD_version >= 500023
 rtc_close(dev_t dev, int fflag, int otyp, struct thread *p)
 #else
 rtc_close(dev_t dev, int fflag, int otyp, struct proc *p)
@@ -227,7 +243,9 @@
 }
 
 int 
-#if __FreeBSD_version >= 500023
+#if __FreeBSD_version >= 502103
+rtc_ioctl(struct cdev * dev, u_long cmd, caddr_t arg, int mode, struct thread *p)
+#elif __FreeBSD_version >= 500023
 rtc_ioctl(dev_t dev, u_long cmd, caddr_t arg, int mode, struct thread *p)
 #else
 rtc_ioctl(dev_t dev, u_long cmd, caddr_t arg, int mode, struct proc *p)
@@ -273,7 +291,9 @@
 }
 
 int 
-#if __FreeBSD_version >= 500023
+#if __FreeBSD_version >= 502103
+rtc_poll(struct cdev * dev, int events, struct thread *p)
+#elif __FreeBSD_version >= 500023
 rtc_poll(dev_t dev, int events, struct thread *p)
 #else
 rtc_poll(dev_t dev, int events, struct proc *p)
@@ -297,7 +317,11 @@
 }
 
 int 
+#if __FreeBSD_version >= 502103
+rtc_read(struct cdev * dev, struct uio *uio, int flags __unused)
+#else
 rtc_read(dev_t dev, struct uio *uio, int flags __unused)
+#endif
 {
 	struct rtc_softc *sc = (struct rtc_softc *) dev->si_drv1;
 	int error = 0;
@@ -324,7 +348,11 @@
 }
 
 /* -=-=-=-=-=-=-=-=-= module load/unload stuff -=-=-=-=-=-=-=-=-= */
+#if __FreeBSD_version >= 502103
+static struct cdev * rtc_dev = NULL;
+#else
 static dev_t rtc_dev = NULL;
+#endif
 
 static int
 init_module(void)
--- patch-dev_t ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list