summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1997-09-14 16:27:37 +0000
committerkato <kato@FreeBSD.org>1997-09-14 16:27:37 +0000
commite2ce0d677e459daf5a1afb3e7317c7d9b2fdfe1c (patch)
tree726f370bfb3b4f8247a12bd52f0ff497fdbb75ed
parent060c353c2082bdefee129c2bfa670e4fec1be1a1 (diff)
downloadFreeBSD-src-e2ce0d677e459daf5a1afb3e7317c7d9b2fdfe1c.zip
FreeBSD-src-e2ce0d677e459daf5a1afb3e7317c7d9b2fdfe1c.tar.gz
Synchronize with sys/i386/isa/mse.c, pcaudio.c, sio.c and syscons.c
revisions 1.34, 1.37, 1.181 and 1.232, respectively.
-rw-r--r--sys/pc98/cbus/sio.c4
-rw-r--r--sys/pc98/pc98/mse.c38
-rw-r--r--sys/pc98/pc98/pcaudio.c49
-rw-r--r--sys/pc98/pc98/sio.c4
-rw-r--r--sys/pc98/pc98/syscons.c4
5 files changed, 52 insertions, 47 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c
index 46da7c2..2aba96d 100644
--- a/sys/pc98/cbus/sio.c
+++ b/sys/pc98/cbus/sio.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.35 1997/08/30 15:47:49 kato Exp $
+ * $Id: sio.c,v 1.36 1997/09/01 10:45:02 kato Exp $
*/
#include "opt_comconsole.h"
@@ -443,7 +443,7 @@ static d_devtotty_t siodevtotty;
static struct cdevsw sio_cdevsw = {
sioopen, sioclose, sioread, siowrite,
sioioctl, siostop, noreset, siodevtotty,
- ttselect, nommap, NULL, driver_name,
+ ttpoll, nommap, NULL, driver_name,
NULL, -1,
};
diff --git a/sys/pc98/pc98/mse.c b/sys/pc98/pc98/mse.c
index cdac7d8..e50fb2d 100644
--- a/sys/pc98/pc98/mse.c
+++ b/sys/pc98/pc98/mse.c
@@ -11,7 +11,7 @@
* this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
- * $Id: mse.c,v 1.10 1997/03/24 12:29:37 bde Exp $
+ * $Id: mse.c,v 1.11 1997/07/21 13:11:06 kato Exp $
*/
/*
* Driver for the Logitech and ATI Inport Bus mice for use with 386bsd and
@@ -51,6 +51,7 @@
#include <sys/conf.h>
#include <sys/proc.h>
#include <sys/kernel.h>
+#include <sys/poll.h>
#include <sys/uio.h>
#ifdef DEVFS
#include <sys/devfsext.h>
@@ -73,13 +74,13 @@ struct isa_driver msedriver = {
static d_open_t mseopen;
static d_close_t mseclose;
static d_read_t mseread;
-static d_select_t mseselect;
+static d_poll_t msepoll;
#define CDEV_MAJOR 27
static struct cdevsw mse_cdevsw =
{ mseopen, mseclose, mseread, nowrite, /*27*/
noioc, nostop, nullreset, nodevtotty,/* mse */
- mseselect, nommap, NULL, "mse", NULL, -1 };
+ msepoll, nommap, NULL, "mse", NULL, -1 };
/*
@@ -427,31 +428,34 @@ mseread(dev, uio, ioflag)
}
/*
- * mseselect: check for mouse input to be processed.
+ * msepoll: check for mouse input to be processed.
*/
static int
-mseselect(dev, rw, p)
+msepoll(dev, events, p)
dev_t dev;
- int rw;
+ int events;
struct proc *p;
{
register struct mse_softc *sc = &mse_sc[MSE_UNIT(dev)];
int s;
+ int revents = 0;
s = spltty();
- if (sc->sc_bytesread != PROTOBYTES || sc->sc_deltax != 0 ||
- sc->sc_deltay != 0 || (sc->sc_obuttons ^ sc->sc_buttons) != 0) {
- splx(s);
- return (1);
- }
+ if (events & (POLLIN | POLLRDNORM))
+ if (sc->sc_bytesread != PROTOBYTES || sc->sc_deltax != 0 ||
+ sc->sc_deltay != 0 ||
+ (sc->sc_obuttons ^ sc->sc_buttons) != 0)
+ revents |= events & (POLLIN | POLLRDNORM);
+ else {
+ /*
+ * Since this is an exclusive open device, any previous
+ * proc pointer is trash now, so we can just assign it.
+ */
+ selrecord(p, &sc->sc_selp);
+ }
- /*
- * Since this is an exclusive open device, any previous proc.
- * pointer is trash now, so we can just assign it.
- */
- selrecord(p, &sc->sc_selp);
splx(s);
- return (0);
+ return (revents);
}
/*
diff --git a/sys/pc98/pc98/pcaudio.c b/sys/pc98/pc98/pcaudio.c
index 4310f6a..75f7be8 100644
--- a/sys/pc98/pc98/pcaudio.c
+++ b/sys/pc98/pc98/pcaudio.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: pcaudio.c,v 1.10 1997/09/04 13:20:33 kato Exp $
+ * $Id: pcaudio.c,v 1.11 1997/09/07 12:46:44 kato Exp $
*/
#include "pca.h"
@@ -39,6 +39,7 @@
#include <sys/proc.h>
#include <sys/kernel.h>
#include <sys/filio.h>
+#include <sys/poll.h>
#include <machine/clock.h>
#include <machine/pcaudioio.h>
@@ -80,7 +81,7 @@ static struct pca_status {
char current; /* current buffer */
unsigned char oldval; /* old timer port value */
char timer_on; /* is playback running */
- struct selinfo wsel; /* select status */
+ struct selinfo wsel; /* select/poll status */
char non_block; /* set non-block on write status */
} pca_status;
@@ -109,13 +110,13 @@ static d_open_t pcaopen;
static d_close_t pcaclose;
static d_write_t pcawrite;
static d_ioctl_t pcaioctl;
-static d_select_t pcaselect;
+static d_poll_t pcapoll;
#define CDEV_MAJOR 24
static struct cdevsw pca_cdevsw =
{ pcaopen, pcaclose, noread, pcawrite, /*24*/
pcaioctl, nostop, nullreset, nodevtotty,/* pcaudio */
- pcaselect, nommap, NULL, "pca", NULL, -1 };
+ pcapoll, nommap, NULL, "pca", NULL, -1 };
static void pca_continue __P((void));
static void pca_init __P((void));
@@ -527,29 +528,29 @@ pcaintr(struct clockframe *frame)
static int
-pcaselect(dev_t dev, int rw, struct proc *p)
+pcapoll(dev_t dev, int events, struct proc *p)
{
- int s = spltty();
+ int s;
struct proc *p1;
+ int revents = 0;
+
+ s = spltty();
+
+ if (events & (POLLOUT | POLLWRNORM))
+ if (!pca_status.in_use[0] || !pca_status.in_use[1] ||
+ !pca_status.in_use[2])
+ revents |= events & (POLLOUT | POLLWRNORM);
+ else {
+ if (pca_status.wsel.si_pid &&
+ (p1=pfind(pca_status.wsel.si_pid))
+ && p1->p_wchan == (caddr_t)&selwait)
+ pca_status.wsel.si_flags = SI_COLL;
+ else
+ pca_status.wsel.si_pid = p->p_pid;
+ }
- switch (rw) {
-
- case FWRITE:
- if (!pca_status.in_use[0] || !pca_status.in_use[1] || !pca_status.in_use[2]) {
- splx(s);
- return(1);
- }
- if (pca_status.wsel.si_pid && (p1=pfind(pca_status.wsel.si_pid))
- && p1->p_wchan == (caddr_t)&selwait)
- pca_status.wsel.si_flags = SI_COLL;
- else
- pca_status.wsel.si_pid = p->p_pid;
- splx(s);
- return 0;
- default:
- splx(s);
- return(0);
- }
+ splx(s);
+ return (revents);
}
static pca_devsw_installed = 0;
diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c
index 46da7c2..2aba96d 100644
--- a/sys/pc98/pc98/sio.c
+++ b/sys/pc98/pc98/sio.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.35 1997/08/30 15:47:49 kato Exp $
+ * $Id: sio.c,v 1.36 1997/09/01 10:45:02 kato Exp $
*/
#include "opt_comconsole.h"
@@ -443,7 +443,7 @@ static d_devtotty_t siodevtotty;
static struct cdevsw sio_cdevsw = {
sioopen, sioclose, sioread, siowrite,
sioioctl, siostop, noreset, siodevtotty,
- ttselect, nommap, NULL, driver_name,
+ ttpoll, nommap, NULL, driver_name,
NULL, -1,
};
diff --git a/sys/pc98/pc98/syscons.c b/sys/pc98/pc98/syscons.c
index 2f6dae8..2cfda01 100644
--- a/sys/pc98/pc98/syscons.c
+++ b/sys/pc98/pc98/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.54 1997/08/10 10:52:17 kato Exp $
+ * $Id: syscons.c,v 1.55 1997/09/05 10:17:28 kato Exp $
*/
#include "sc.h"
@@ -291,7 +291,7 @@ static d_mmap_t scmmap;
static struct cdevsw scdevsw = {
scopen, scclose, scread, scwrite,
scioctl, nullstop, noreset, scdevtotty,
- ttselect, scmmap, nostrategy, "sc", NULL, -1 };
+ ttpoll, scmmap, nostrategy, "sc", NULL, -1 };
#ifdef PC98
static u_char ibmpc_to_pc98[16] =
OpenPOWER on IntegriCloud