summaryrefslogtreecommitdiffstats
path: root/sys/pccard
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-09-13 02:12:14 +0000
committerimp <imp@FreeBSD.org>2001-09-13 02:12:14 +0000
commitb1f1f4bc911286000777aa02a5af7d01307a871a (patch)
treedcab5e3f75c8943e74333c7debf2941bf059b8f2 /sys/pccard
parentf8449a4d63cf4aff04e6254dd84ff86a6fc7e3cf (diff)
downloadFreeBSD-src-b1f1f4bc911286000777aa02a5af7d01307a871a.zip
FreeBSD-src-b1f1f4bc911286000777aa02a5af7d01307a871a.tar.gz
Better way to do compatibility between the two versions.
Diffstat (limited to 'sys/pccard')
-rw-r--r--sys/pccard/pccard.c28
1 files changed, 8 insertions, 20 deletions
diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c
index e8dad88..9d5fa31 100644
--- a/sys/pccard/pccard.c
+++ b/sys/pccard/pccard.c
@@ -53,6 +53,10 @@
#include <machine/md_var.h>
+#if __FreeBSD_version < 500000
+#define suser_td(a) suser(a)
+#endif
+
SYSCTL_NODE(_machdep, OID_AUTO, pccard, CTLFLAG_RW, 0, "pccard");
/* The following might now be obsolete */
@@ -333,7 +337,7 @@ static int
#if __FreeBSD_version >= 500000
crdopen(dev_t dev, int oflags, int devtype, struct thread *td)
#else
-crdopen(dev_t dev, int oflags, int devtype, struct proc *p)
+crdopen(dev_t dev, int oflags, int devtype, struct proc *td)
#endif
{
struct slot *slt = PCCARD_DEV2SOFTC(dev);
@@ -353,7 +357,7 @@ static int
#if __FreeBSD_version >= 500000
crdclose(dev_t dev, int fflag, int devtype, struct thread *td)
#else
-crdclose(dev_t dev, int fflag, int devtype, struct proc *p)
+crdclose(dev_t dev, int fflag, int devtype, struct proc *td)
#endif
{
return (0);
@@ -458,7 +462,7 @@ static int
#if __FreeBSD_version >= 500000
crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct thread *td)
#else
-crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *p)
+crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *td)
#endif
{
u_int32_t addr;
@@ -509,11 +513,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *p)
* At the very least, we only allow root to set the context.
*/
case PIOCSMEM:
-#if __FreeBSD_version >= 500000
if (suser_td(td))
-#else
- if (suser(p))
-#endif
return (EPERM);
if (slt->state != filled)
return (ENXIO);
@@ -538,11 +538,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *p)
* Set I/O port context.
*/
case PIOCSIO:
-#if __FreeBSD_version >= 500000
if (suser_td(td))
-#else
- if (suser(p))
-#endif
return (EPERM);
if (slt->state != filled)
return (ENXIO);
@@ -568,11 +564,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *p)
*(unsigned long *)data = pccard_mem;
break;
}
-#if __FreeBSD_version >= 500000
if (suser_td(td))
-#else
- if (suser(p))
-#endif
return (EPERM);
/*
* Validate the memory by checking it against the I/O
@@ -604,11 +596,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *p)
* Allocate a driver to this slot.
*/
case PIOCSDRV:
-#if __FreeBSD_version >= 500000
if (suser_td(td))
-#else
- if (suser(p))
-#endif
return (EPERM);
err = allocate_driver(slt, (struct dev_desc *)data);
if (!err)
@@ -648,7 +636,7 @@ static int
#if __FreeBSD_version >= 500000
crdpoll(dev_t dev, int events, struct thread *td)
#else
-crdpoll(dev_t dev, int events, struct proc *p)
+crdpoll(dev_t dev, int events, struct proc *td)
#endif
{
int revents = 0;
OpenPOWER on IntegriCloud