summaryrefslogtreecommitdiff
path: root/sys/arch/sparc
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2003-09-23 16:51:15 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2003-09-23 16:51:15 +0000
commit6bb276a1685d8546283d224a3d249c66cc329264 (patch)
tree5e1c80d6cad38a8a82f5832e1e315103e7029eb9 /sys/arch/sparc
parent96675671ec2520ade2f83b31563ab4da72bd443d (diff)
Replace select backends with poll backends. selscan() and pollscan()
now call the poll backend. With this change we implement greater poll(2) functionality instead of emulating it via the select backend. Adapted from NetBSD and including some changes from FreeBSD. Tested by many, deraadt@ OK
Diffstat (limited to 'sys/arch/sparc')
-rw-r--r--sys/arch/sparc/dev/magma.c12
-rw-r--r--sys/arch/sparc/dev/spif.c10
-rw-r--r--sys/arch/sparc/include/conf.h8
3 files changed, 15 insertions, 15 deletions
diff --git a/sys/arch/sparc/dev/magma.c b/sys/arch/sparc/dev/magma.c
index 60c457aa1bd..d6c52594442 100644
--- a/sys/arch/sparc/dev/magma.c
+++ b/sys/arch/sparc/dev/magma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: magma.c,v 1.15 2003/08/15 20:32:14 tedu Exp $ */
+/* $OpenBSD: magma.c,v 1.16 2003/09/23 16:51:11 millert Exp $ */
/*
* magma.c
*
@@ -1398,7 +1398,7 @@ int s, opt;
* mbppread read from mbpp
* mbppwrite write to mbpp
* mbppioctl do ioctl on mbpp
- * mbppselect do select on mbpp
+ * mbpppoll do poll on mbpp
* mbpp_rw general rw routine
* mbpp_timeout rw timeout
* mbpp_start rw start after delay
@@ -1589,15 +1589,15 @@ int s;
}
/*
- * select routine
+ * poll routine
*/
int
-mbppselect(dev, rw, p)
+mbpppoll(dev, events, p)
dev_t dev;
-int rw;
+int events;
struct proc *p;
{
- return(ENODEV);
+ return(seltrue(dev, events, p));
}
int
diff --git a/sys/arch/sparc/dev/spif.c b/sys/arch/sparc/dev/spif.c
index c56255e8a49..6642bcc5d81 100644
--- a/sys/arch/sparc/dev/spif.c
+++ b/sys/arch/sparc/dev/spif.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: spif.c,v 1.16 2003/08/15 20:32:14 tedu Exp $ */
+/* $OpenBSD: spif.c,v 1.17 2003/09/23 16:51:11 millert Exp $ */
/*
* Copyright (c) 1999 Jason L. Wright (jason@thought.net)
@@ -97,7 +97,7 @@ int sbppread(dev_t, struct uio *, int);
int sbppwrite(dev_t, struct uio *, int);
int sbpp_rw(dev_t, struct uio *);
int spifppcintr(void *);
-int sbppselect(dev_t, int, struct proc *);
+int sbpppoll(dev_t, int, struct proc *);
int sbppioctl(dev_t, u_long, caddr_t, int, struct proc *);
struct cfattach spif_ca = {
@@ -1075,12 +1075,12 @@ sbpp_rw(dev, uio)
}
int
-sbppselect(dev, rw, p)
+sbpppoll(dev, events, p)
dev_t dev;
- int rw;
+ int events;
struct proc *p;
{
- return (ENODEV);
+ return (seltrue(dev, events, p));
}
int
diff --git a/sys/arch/sparc/include/conf.h b/sys/arch/sparc/include/conf.h
index bc817336879..ee7e8d4298c 100644
--- a/sys/arch/sparc/include/conf.h
+++ b/sys/arch/sparc/include/conf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.h,v 1.17 2003/04/13 22:55:51 miod Exp $ */
+/* $OpenBSD: conf.h,v 1.18 2003/09/23 16:51:11 millert Exp $ */
/* $NetBSD: conf.h,v 1.8 1996/12/31 07:12:43 mrg Exp $ */
/*
@@ -38,7 +38,7 @@ cdev_decl(mm);
#define cdev_openprom_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \
(dev_type_write((*))) enodev, dev_init(c,n,ioctl), \
- (dev_type_stop((*))) nullop, 0, (dev_type_select((*))) enodev, \
+ (dev_type_stop((*))) nullop, 0, (dev_type_poll((*))) enodev, \
(dev_type_mmap((*))) enodev }
cdev_decl(openprom);
@@ -48,11 +48,11 @@ cdev_decl(zs);
bdev_decl(fd);
cdev_decl(fd);
-/* open, close, read, write, ioctl, select */
+/* open, close, read, write, ioctl, poll */
#define cdev_gen_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) nullop, \
- 0, dev_init(c,n,select), (dev_type_mmap((*))) enodev }
+ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev }
bdev_decl(xd);
cdev_decl(xd);