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