Re: merge pms and pmsi + added support for some of mouse
On Wed, Sep 29, 2010 at 08:45:48PM -0400, Kenneth R Westerback wrote: > On Thu, Sep 30, 2010 at 04:12:20AM +0600, Alexandr Shadchin wrote: > > On Thu, Sep 30, 2010 at 02:50:54AM +0600, Alexandr Shadchin wrote: > > > On Mon, Sep 27, 2010 at 11:42:35PM +0600, Alexandr Shadchin wrote: > > > > On Fri, Sep 24, 2010 at 05:40:37PM +0400, Alexandr Shadchin wrote: > > > > > Hi! > > > > > > > > > > Paul Irofti proposed to split the diff in a few easy steps. > > > > > Step 1 - merge drivers pms and pmsi. > > > > > > > > > > > > > Step 2 - cleanup, standardization of interfaces and preparation > > > > for easy addition of new devices. Now the resume of work in polling > > > > mode. > > > > > > > > > > Regen for -current. Also small improvements: > > > 1) add function pms_dev_reset() > > > 2) in struct pms_protocol add function sync() - for check synchronization, > > >proc () - for processing packet. > > > > > > > That diff is way too big to commit in one piece. I'll try to split it into > > several pieces. > > > > Pieces 1 - cleanup code > > > > -- > > Alexandr Shadchin > > All the return (); -> return ; just clutters the diff up. I don't > see the point since both are considered valid style. I think the > ansification is a valid change but that should be an easy separate > diff. Many of the other changes seem to be whitespace because I > can't see any real changes. I would recommend avoiding such changes > while you are attempting to make functional changes, unless the > code is really hard to read. I don't see that here. > > The smaller and more focused the diff, the easier to read and more > likely to get commentary. We like single purpose diffs. :-). > > Ken > Ok. I'll try to make small diff, which will not include unrelated changes. -- Alexandr Shadchin
Re: merge pms and pmsi + added support for some of mouse
On Wednesday 29 September 2010 15:10:56 Landry Breuil wrote: > On Wed, Sep 29, 2010 at 06:53:33PM +0100, Nicholas Marriott wrote: > > this reads fine and works fine for me > > > > although i don't really agree with all this return () and comment > > changing.. if everyone did that there would be tons of unnecessary > > changes, the existing style is fine... but anyway, meh, the diff works > > Speaking of that... > > > > - return (10); > > > + return 1; > > is this really intended or correct ? > > Landry Looks like it was intended and is correct. pmsi(4) used to have a higher priority over pms(4) when probing for the appropriate device driver but that's no longer necessary now that pmsi(4) is gone. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Re: merge pms and pmsi + added support for some of mouse
On Wed, Sep 29, 2010 at 06:53:33PM +0100, Nicholas Marriott wrote: > this reads fine and works fine for me > > although i don't really agree with all this return () and comment > changing.. if everyone did that there would be tons of unnecessary > changes, the existing style is fine... but anyway, meh, the diff works Speaking of that... > > - return (10); > > + return 1; is this really intended or correct ? Landry
Re: merge pms and pmsi + added support for some of mouse
this reads fine and works fine for me although i don't really agree with all this return () and comment changing.. if everyone did that there would be tons of unnecessary changes, the existing style is fine... but anyway, meh, the diff works cheers On Thu, Sep 30, 2010 at 04:12:20AM +0600, Alexandr Shadchin wrote: > On Thu, Sep 30, 2010 at 02:50:54AM +0600, Alexandr Shadchin wrote: > > On Mon, Sep 27, 2010 at 11:42:35PM +0600, Alexandr Shadchin wrote: > > > On Fri, Sep 24, 2010 at 05:40:37PM +0400, Alexandr Shadchin wrote: > > > > Hi! > > > > > > > > Paul Irofti proposed to split the diff in a few easy steps. > > > > Step 1 - merge drivers pms and pmsi. > > > > > > > > > > Step 2 - cleanup, standardization of interfaces and preparation > > > for easy addition of new devices. Now the resume of work in polling mode. > > > > > > > Regen for -current. Also small improvements: > > 1) add function pms_dev_reset() > > 2) in struct pms_protocol add function sync() - for check synchronization, > >proc () - for processing packet. > > > > That diff is way too big to commit in one piece. I'll try to split it into > several pieces. > > Pieces 1 - cleanup code > > -- > Alexandr Shadchin > > > Index: pms.c > === > RCS file: /cvs/src/sys/dev/pckbc/pms.c,v > retrieving revision 1.5 > diff -u -p -r1.5 pms.c > --- pms.c 27 Sep 2010 18:16:25 - 1.5 > +++ pms.c 29 Sep 2010 16:05:58 - > @@ -57,15 +57,11 @@ struct pms_softc {/* driver status inf > struct device *sc_wsmousedev; > }; > > -int pmsprobe(struct device *, void *, void *); > -void pmsattach(struct device *, struct device *, void *); > -int pmsactivate(struct device *, int); > -void pmsinput(void *, int); > +int pmsprobe(struct device *, void *, void *); > +void pmsattach(struct device *, struct device *, void *); > +int pmsactivate(struct device *, int); > > -struct cfattach pms_ca = { > - sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, > - pmsactivate > -}; > +void pmsinput(void *, int); > > int pms_change_state(struct pms_softc *, int); > int pms_ioctl(void *, u_long, caddr_t, int, struct proc *); > @@ -74,6 +70,15 @@ void pms_disable(void *); > > int pms_setintellimode(pckbc_tag_t, pckbc_slot_t); > > +struct cfattach pms_ca = { > + sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, > + pmsactivate > +}; > + > +struct cfdriver pms_cd = { > + NULL, "pms", DV_DULL > +}; > + > const struct wsmouse_accessops pms_accessops = { > pms_enable, > pms_ioctl, > @@ -92,31 +97,28 @@ pms_setintellimode(pckbc_tag_t tag, pckb > cmd[1] = rates[i]; > res = pckbc_enqueue_cmd(tag, slot, cmd, 2, 0, 0, NULL); > if (res) > - return (0); > + return 0; > } > > cmd[0] = PMS_SEND_DEV_ID; > res = pckbc_enqueue_cmd(tag, slot, cmd, 1, 1, 1, resp); > if (res || resp[0] != 3) > - return (0); > + return 0; > > - return (1); > + return 1; > } > > int > -pmsprobe(parent, match, aux) > - struct device *parent; > - void *match; > - void *aux; > +pmsprobe(struct device *parent, void *match, void *aux) > { > struct pckbc_attach_args *pa = aux; > u_char cmd[1], resp[2]; > int res; > > if (pa->pa_slot != PCKBC_AUX_SLOT) > - return (0); > + return 0; > > - /* Flush any garbage. */ > + /* flush any garbage */ > pckbc_flush(pa->pa_tag, pa->pa_slot); > > /* reset the device */ > @@ -126,11 +128,11 @@ pmsprobe(parent, match, aux) > #ifdef DEBUG > printf("pmsprobe: reset error %d\n", res); > #endif > - return (0); > + return 0; > } > if (resp[0] != PMS_RSTDONE) { > printf("pmsprobe: reset response 0x%x\n", resp[0]); > - return (0); > + return 0; > } > > /* get type number (0 = mouse) */ > @@ -138,21 +140,19 @@ pmsprobe(parent, match, aux) > #ifdef DEBUG > printf("pmsprobe: type 0x%x\n", resp[1]); > #endif > - return (0); > + return 0; > } > > - return (10); > + return 1; > } > > void > -pmsattach(parent, self, aux) > - struct device *parent, *self; > - void *aux; > +pmsattach(struct device *parent, struct device *self, void *aux) > { > struct pms_softc *sc = (void *)self; > struct pckbc_attach_args *pa = aux; > struct wsmousedev_attach_args a; > - u_char cmd[1], resp[2]; > + u_char cmd[1]; > int res; > > sc->sc_kbctag = pa->pa_tag; > @@ -160,24 +160,8 @@ pmsattach(parent, self, aux) > > printf("\n"); > > - /* Flush any garbage. */ > - pckbc_flush(pa->pa_tag, pa->pa_slot); > - > - /* reset the device */ > - cmd[0] = PMS_RESET; > - res = pckbc_poll_cmd(pa->p
Re: merge pms and pmsi + added support for some of mouse
On Thu, Sep 30, 2010 at 02:50:54AM +0600, Alexandr Shadchin wrote: > On Mon, Sep 27, 2010 at 11:42:35PM +0600, Alexandr Shadchin wrote: > > On Fri, Sep 24, 2010 at 05:40:37PM +0400, Alexandr Shadchin wrote: > > > Hi! > > > > > > Paul Irofti proposed to split the diff in a few easy steps. > > > Step 1 - merge drivers pms and pmsi. > > > > > > > Step 2 - cleanup, standardization of interfaces and preparation > > for easy addition of new devices. Now the resume of work in polling mode. > > > > Regen for -current. Also small improvements: > 1) add function pms_dev_reset() > 2) in struct pms_protocol add function sync() - for check synchronization, >proc () - for processing packet. > That diff is way too big to commit in one piece. I'll try to split it into several pieces. Pieces 1 - cleanup code -- Alexandr Shadchin Index: pms.c === RCS file: /cvs/src/sys/dev/pckbc/pms.c,v retrieving revision 1.5 diff -u -p -r1.5 pms.c --- pms.c 27 Sep 2010 18:16:25 - 1.5 +++ pms.c 29 Sep 2010 16:05:58 - @@ -57,15 +57,11 @@ struct pms_softc { /* driver status inf struct device *sc_wsmousedev; }; -int pmsprobe(struct device *, void *, void *); -void pmsattach(struct device *, struct device *, void *); -int pmsactivate(struct device *, int); -void pmsinput(void *, int); +intpmsprobe(struct device *, void *, void *); +void pmsattach(struct device *, struct device *, void *); +intpmsactivate(struct device *, int); -struct cfattach pms_ca = { - sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, - pmsactivate -}; +void pmsinput(void *, int); intpms_change_state(struct pms_softc *, int); intpms_ioctl(void *, u_long, caddr_t, int, struct proc *); @@ -74,6 +70,15 @@ void pms_disable(void *); intpms_setintellimode(pckbc_tag_t, pckbc_slot_t); +struct cfattach pms_ca = { + sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, + pmsactivate +}; + +struct cfdriver pms_cd = { + NULL, "pms", DV_DULL +}; + const struct wsmouse_accessops pms_accessops = { pms_enable, pms_ioctl, @@ -92,31 +97,28 @@ pms_setintellimode(pckbc_tag_t tag, pckb cmd[1] = rates[i]; res = pckbc_enqueue_cmd(tag, slot, cmd, 2, 0, 0, NULL); if (res) - return (0); + return 0; } cmd[0] = PMS_SEND_DEV_ID; res = pckbc_enqueue_cmd(tag, slot, cmd, 1, 1, 1, resp); if (res || resp[0] != 3) - return (0); + return 0; - return (1); + return 1; } int -pmsprobe(parent, match, aux) - struct device *parent; - void *match; - void *aux; +pmsprobe(struct device *parent, void *match, void *aux) { struct pckbc_attach_args *pa = aux; u_char cmd[1], resp[2]; int res; if (pa->pa_slot != PCKBC_AUX_SLOT) - return (0); + return 0; - /* Flush any garbage. */ + /* flush any garbage */ pckbc_flush(pa->pa_tag, pa->pa_slot); /* reset the device */ @@ -126,11 +128,11 @@ pmsprobe(parent, match, aux) #ifdef DEBUG printf("pmsprobe: reset error %d\n", res); #endif - return (0); + return 0; } if (resp[0] != PMS_RSTDONE) { printf("pmsprobe: reset response 0x%x\n", resp[0]); - return (0); + return 0; } /* get type number (0 = mouse) */ @@ -138,21 +140,19 @@ pmsprobe(parent, match, aux) #ifdef DEBUG printf("pmsprobe: type 0x%x\n", resp[1]); #endif - return (0); + return 0; } - return (10); + return 1; } void -pmsattach(parent, self, aux) - struct device *parent, *self; - void *aux; +pmsattach(struct device *parent, struct device *self, void *aux) { struct pms_softc *sc = (void *)self; struct pckbc_attach_args *pa = aux; struct wsmousedev_attach_args a; - u_char cmd[1], resp[2]; + u_char cmd[1]; int res; sc->sc_kbctag = pa->pa_tag; @@ -160,24 +160,8 @@ pmsattach(parent, self, aux) printf("\n"); - /* Flush any garbage. */ - pckbc_flush(pa->pa_tag, pa->pa_slot); - - /* reset the device */ - cmd[0] = PMS_RESET; - res = pckbc_poll_cmd(pa->pa_tag, pa->pa_slot, cmd, 1, 2, resp, 1); -#ifdef DEBUG - if (res || resp[0] != PMS_RSTDONE || resp[1] != 0) { - printf("pmsattach: reset error\n"); - return; - } -#endif - - sc->inputstate = 0; - sc->oldbuttons = 0; - pckbc_set_inputhandler(sc->sc_kbctag, sc->sc_kbcslot, - pmsinput, sc, sc->sc_dev.dv_xname); + pmsinput, sc, sc->sc_dev.dv_xname); a.accessops = &pms_accessops; a.acces
Re: merge pms and pmsi + added support for some of mouse
On Mon, Sep 27, 2010 at 11:42:35PM +0600, Alexandr Shadchin wrote: > On Fri, Sep 24, 2010 at 05:40:37PM +0400, Alexandr Shadchin wrote: > > Hi! > > > > Paul Irofti proposed to split the diff in a few easy steps. > > Step 1 - merge drivers pms and pmsi. > > > > Step 2 - cleanup, standardization of interfaces and preparation > for easy addition of new devices. Now the resume of work in polling mode. > Regen for -current. Also small improvements: 1) add function pms_dev_reset() 2) in struct pms_protocol add function sync() - for check synchronization, proc () - for processing packet. -- Alexandr Shadchin Index: pms.c === RCS file: /cvs/src/sys/dev/pckbc/pms.c,v retrieving revision 1.5 diff -u -p -r1.5 pms.c --- pms.c 27 Sep 2010 18:16:25 - 1.5 +++ pms.c 29 Sep 2010 14:41:51 - @@ -38,41 +38,100 @@ #include #include +#ifdef PMS_DEBUG +#define DPRINTF(...) do { if (pmsdebug) printf(__VA_ARGS__); } while(0) +#define DPRINTFN(n, ...) do { \ + if (pmsdebug > (n)) printf(__VA_ARGS__);\ +} while(0) +int pmsdebug = 1; +#else +#define DPRINTF(...) +#define DPRINTFN(n, ...) +#endif + +#define DEVNAME(sc) ((sc)->sc_dev.dv_xname) + +/* PS/2 mouse data packet */ +#define PMS_PS2_BUTTONSMASK0x07 +#define PMS_PS2_BUTTON10x01/* left */ +#define PMS_PS2_BUTTON20x04/* middle */ +#define PMS_PS2_BUTTON30x02/* right */ +#define PMS_PS2_XNEG 0x10 +#define PMS_PS2_YNEG 0x20 + +#define PMS_BUTTON1DOWN0x01/* left */ +#define PMS_BUTTON2DOWN0x02/* middle */ +#define PMS_BUTTON3DOWN0x04/* right */ + +struct pms_softc; + +struct pms_protocol { + int type; +#define PMS_STANDARD 0 +#define PMS_INTELLI1 + int packetsize; + int syncmask; + int syncval; + int (*enable)(struct pms_softc *); + int (*sync)(struct pms_softc *, int); + void (*proc)(struct pms_softc *, int *, int *, int *, u_int *); +}; + struct pms_softc { /* driver status information */ struct device sc_dev; pckbc_tag_t sc_kbctag; int sc_kbcslot; + int poll; int sc_state; #define PMS_STATE_DISABLED 0 #define PMS_STATE_ENABLED 1 #define PMS_STATE_SUSPENDED2 - int intelli; + struct pms_protocol protocol; + unsigned char packet[8]; + int inputstate; - u_int buttons, oldbuttons; /* mouse button status */ - signed char dx, dy; + u_int buttons; /* mouse button status */ struct device *sc_wsmousedev; }; -int pmsprobe(struct device *, void *, void *); -void pmsattach(struct device *, struct device *, void *); -int pmsactivate(struct device *, int); -void pmsinput(void *, int); +intpmsprobe(struct device *, void *, void *); +void pmsattach(struct device *, struct device *, void *); +intpmsactivate(struct device *, int); -struct cfattach pms_ca = { - sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, - pmsactivate -}; +void pmsinput(void *, int); intpms_change_state(struct pms_softc *, int); intpms_ioctl(void *, u_long, caddr_t, int, struct proc *); intpms_enable(void *); void pms_disable(void *); -intpms_setintellimode(pckbc_tag_t, pckbc_slot_t); +intpms_cmd(struct pms_softc *, u_char *, int, u_char *, int); +intpms_get_devid(struct pms_softc *, u_char *); +intpms_get_status(struct pms_softc *, u_char *); +intpms_set_rate(struct pms_softc *, int); +intpms_set_resolution(struct pms_softc *, int); +intpms_set_scaling(struct pms_softc *, int); +void pms_dev_reset(struct pms_softc *); +void pms_dev_disable(struct pms_softc *); +void pms_dev_enable(struct pms_softc *); + +intpms_enable_intelli(struct pms_softc *); + +intpms_sync_generic(struct pms_softc *, int); +void pms_proc_generic(struct pms_softc *, int *, int *, int *, u_int *); + +struct cfattach pms_ca = { + sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, + pmsactivate +}; + +struct cfdriver pms_cd = { + NULL, "pms", DV_DULL +}; const struct wsmouse_accessops pms_accessops = { pms_enable, @@ -80,104 +139,54 @@ const struct wsmouse_accessops pms_acces pms_disable, }; -int -pms_setintellimode(pckbc_tag_t tag, pckbc_slot_t slot) -{ - u_char cmd[2], resp[1]; - int i, res; - static const u_char rates[] = {200, 100, 80}; - - cmd[0] = PMS_SET_SAMPLE; - for (i = 0; i < 3; i++) { - cmd[1] = rates[i]; - res = pckbc_enqueue_cmd(tag, slot, cmd, 2, 0, 0, NULL); - if (res) - return (0); - } - - cmd[0] = PMS_SEND_DEV_ID; - res = pckbc_enqueue_cmd(tag, slot, cmd, 1, 1, 1, resp); - if (res ||
Re: merge pms and pmsi + added support for some of mouse
> Date: Wed, 29 Sep 2010 03:21:21 +0600 > From: Alexandr Shadchin > > On Mon, Sep 27, 2010 at 01:10:58PM -0700, Matthew Dempsky wrote: > > On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin > > wrote: > > >if (pa->pa_slot != PCKBC_AUX_SLOT) > > > -return (0); > > > +return 0; > > > > "return (x)" is proper KNF. Please don't undo it. > > I have recently seen more often return without the brackets, so I decided > that this is correct. For me, with or without the brackets do not matter. > So back braces or not? I'd say, don't arbitrarily change them, and try to keep things consistent with the code around it.
Re: merge pms and pmsi + added support for some of mouse
> On Mon, Sep 27, 2010 at 01:10:58PM -0700, Matthew Dempsky wrote: > > On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin > > wrote: > > >if (pa->pa_slot != PCKBC_AUX_SLOT) > > > -return (0); > > > +return 0; > > > > "return (x)" is proper KNF. Please don't undo it. > > I have recently seen more often return without the brackets, so I decided > that this is correct. For me, with or without the brackets do not matter. > So back braces or not? Do whatever you want and ignore the people on the mailing list who are NOT DEVELOPERS.
Re: merge pms and pmsi + added support for some of mouse
On Mon, Sep 27, 2010 at 01:10:58PM -0700, Matthew Dempsky wrote: > On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin > wrote: > >if (pa->pa_slot != PCKBC_AUX_SLOT) > > -return (0); > > +return 0; > > "return (x)" is proper KNF. Please don't undo it. I have recently seen more often return without the brackets, so I decided that this is correct. For me, with or without the brackets do not matter. So back braces or not? -- Alexandr Shadchin
Re: merge pms and pmsi + added support for some of mouse
On Mon, Sep 27, 2010 at 08:28:36PM +, Miod Vallat wrote: > > On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin > > wrote: > > >if (pa->pa_slot != PCKBC_AUX_SLOT) > > > - return (0); > > > + return 0; > > > > "return (x)" is proper KNF. Please don't undo it. > > Actually, return with braces is old KNF, just like K&R function > declarations are. Developer taste change over time, and style(9) no > longer says anything about return statements style. While there is no explicit mention of this, there is one example of a return with a return value and that does use the braces so I can understand where people might get the impression it is needed. > Miod Janjaap van Velthooven -- / __/ /_/ __/ /_ __/ __/ /___ / / /_ __/___/_/_ /___ / / __/ /___ / / janj...@stack.nl /___/_/_/_/_/_/_/___/_/_/
Re: merge pms and pmsi + added support for some of mouse
On Mon, Sep 27, 2010 at 08:28:36PM +, Miod Vallat wrote: > > On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin > > wrote: > > >if (pa->pa_slot != PCKBC_AUX_SLOT) > > > - return (0); > > > + return 0; > > > > "return (x)" is proper KNF. Please don't undo it. > > Actually, return with braces is old KNF, just like K&R function > declarations are. Developer taste change over time, and style(9) no > longer says anything about return statements style. > > Miod A sad reflection of the moral slackness of today's world. :-). Ken
Re: merge pms and pmsi + added support for some of mouse
> On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin > wrote: > >if (pa->pa_slot != PCKBC_AUX_SLOT) > > - return (0); > > + return 0; > > "return (x)" is proper KNF. Please don't undo it. Actually, return with braces is old KNF, just like K&R function declarations are. Developer taste change over time, and style(9) no longer says anything about return statements style. Miod
Re: merge pms and pmsi + added support for some of mouse
On Mon, Sep 27, 2010 at 10:42 AM, Alexandr Shadchin wrote: >if (pa->pa_slot != PCKBC_AUX_SLOT) > - return (0); > + return 0; "return (x)" is proper KNF. Please don't undo it.
Re: merge pms and pmsi + added support for some of mouse
On Fri, Sep 24, 2010 at 05:40:37PM +0400, Alexandr Shadchin wrote: > Hi! > > Paul Irofti proposed to split the diff in a few easy steps. > Step 1 - merge drivers pms and pmsi. > Step 2 - cleanup, standardization of interfaces and preparation for easy addition of new devices. Now the resume of work in polling mode. -- Alexandr Shadchin Index: pms.c === RCS file: /cvs/src/sys/dev/pckbc/pms.c,v retrieving revision 1.4 diff -u -p -r1.4 pms.c --- pms.c 26 Sep 2010 20:39:08 - 1.4 +++ pms.c 27 Sep 2010 16:42:50 - @@ -38,41 +38,94 @@ #include #include +#ifdef PMS_DEBUG +#define DPRINTF(...) do { if (pmsdebug) printf(__VA_ARGS__); } while(0) +#define DPRINTFN(n, ...) do { \ + if (pmsdebug > (n)) printf(__VA_ARGS__);\ +} while(0) +int pmsdebug = 1; +#else +#define DPRINTF(...) +#define DPRINTFN(n, ...) +#endif + +#define DEVNAME(sc) ((sc)->sc_dev.dv_xname) + +/* PS/2 mouse data packet */ +#define PMS_PS2_BUTTONSMASK0x07 +#define PMS_PS2_BUTTON10x01/* left */ +#define PMS_PS2_BUTTON20x04/* middle */ +#define PMS_PS2_BUTTON30x02/* right */ +#define PMS_PS2_XNEG 0x10 +#define PMS_PS2_YNEG 0x20 + +#define PMS_BUTTON1DOWN0x01/* left */ +#define PMS_BUTTON2DOWN0x02/* middle */ +#define PMS_BUTTON3DOWN0x04/* right */ + +struct pms_softc; + +struct pms_protocol { + int type; +#define PMS_STANDARD 0 +#define PMS_INTELLI1 + int packetsize; + int syncmask; + int sync; + int (*enable)(struct pms_softc *); +}; + struct pms_softc { /* driver status information */ struct device sc_dev; pckbc_tag_t sc_kbctag; int sc_kbcslot; + int poll; int sc_state; #define PMS_STATE_DISABLED 0 #define PMS_STATE_ENABLED 1 #define PMS_STATE_SUSPENDED2 - int intelli; + struct pms_protocol protocol; + unsigned char packet[8]; + int inputstate; - u_int buttons, oldbuttons; /* mouse button status */ - signed char dx, dy; + u_int buttons; /* mouse button status */ struct device *sc_wsmousedev; }; -int pmsprobe(struct device *, void *, void *); -void pmsattach(struct device *, struct device *, void *); -int pmsactivate(struct device *, int); -void pmsinput(void *, int); +intpmsprobe(struct device *, void *, void *); +void pmsattach(struct device *, struct device *, void *); +intpmsactivate(struct device *, int); -struct cfattach pms_ca = { - sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, - pmsactivate -}; +void pmsinput(void *, int); intpms_change_state(struct pms_softc *, int); intpms_ioctl(void *, u_long, caddr_t, int, struct proc *); intpms_enable(void *); void pms_disable(void *); -intpms_setintellimode(pckbc_tag_t, pckbc_slot_t); +intpms_cmd(struct pms_softc *, u_char *, int, u_char *, int); +intpms_get_devid(struct pms_softc *, u_char *); +intpms_get_status(struct pms_softc *, u_char *); +intpms_set_rate(struct pms_softc *, int); +intpms_set_resolution(struct pms_softc *, int); +intpms_set_scaling(struct pms_softc *, int); +intpms_dev_disable(struct pms_softc *); +intpms_dev_enable(struct pms_softc *); + +intpms_enable_intelli(struct pms_softc *); + +struct cfattach pms_ca = { + sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, + pmsactivate +}; + +struct cfdriver pms_cd = { + NULL, "pms", DV_DULL +}; const struct wsmouse_accessops pms_accessops = { pms_enable, @@ -80,104 +133,52 @@ const struct wsmouse_accessops pms_acces pms_disable, }; -int -pms_setintellimode(pckbc_tag_t tag, pckbc_slot_t slot) -{ - u_char cmd[2], resp[1]; - int i, res; - static const u_char rates[] = {200, 100, 80}; - - cmd[0] = PMS_SET_SAMPLE; - for (i = 0; i < 3; i++) { - cmd[1] = rates[i]; - res = pckbc_enqueue_cmd(tag, slot, cmd, 2, 0, 0, NULL); - if (res) - return (0); - } - - cmd[0] = PMS_SEND_DEV_ID; - res = pckbc_enqueue_cmd(tag, slot, cmd, 1, 1, 0, resp); - if (res || resp[0] != 3) - return (0); - - return (1); -} +const struct pms_protocol pms_protocols[] = { + /* Generic PS/2 mouse */ + {PMS_STANDARD, 3, 0xc0, 0x00, NULL}, + /* Microsoft IntelliMouse */ + {PMS_INTELLI, 4, 0x08, 0x08, pms_enable_intelli} +}; int -pmsprobe(parent, match, aux) - struct device *parent; - void *match; - void *aux; +pmsprobe(struct device *parent, void *match, void *aux) { struct pckbc_attach_args *pa = aux; - u_char cmd[1], resp[2]; int res; + u_char cmd[1],
Re: merge pms and pmsi + added support for some of mouse
On Sun, Sep 26, 2010 at 07:12:45PM -0400, Kenneth R Westerback wrote: > The commmitted version breaks my eeePC, as I reported the last > version I got via email did. > > Suspend/resume in text mode seems ok, but after confirming that, I > did 'startx' and the cursor is stuck in the right part of the screen > and generates the same spurious when I use the touch pad. > > This is the same behaviour as I saw before the last round of fixes > to the separate pms/pmsi drivers. > > Ken 1) restart 2) startx - mouse work ok, right? 3) suspend/resume 4) X - work ok? 1) restart 2) wsmoused - work ok? 3) suspen/resume 4) wsmoused - work ok? 5) startx - don't work? Can I see your xorg.conf and Xorg.0.log ? -- Alexandr Shadchin
Re: merge pms and pmsi + added support for some of mouse
On Sat, Sep 25, 2010 at 02:21:14PM +0600, Alexandr Shadchin wrote: > New diff for the simple pms/pmsi merge. > > -- > Alexandr Shadchin The commmitted version breaks my eeePC, as I reported the last version I got via email did. Suspend/resume in text mode seems ok, but after confirming that, I did 'startx' and the cursor is stuck in the right part of the screen and generates the same spurious when I use the touch pad. This is the same behaviour as I saw before the last round of fixes to the separate pms/pmsi drivers. Ken
Re: merge pms and pmsi + added support for some of mouse
On Sun, Sep 26, 2010 at 08:39:23PM +, Miod Vallat wrote: > Oh, right. For some reason I though you had kept the polling mode and > not the queueing mode. > > Diff commited. Thanks! > > Miod This intermediate version. If the poll is better to keep, I will correct in future. -- Alexandr Shadchin
Re: merge pms and pmsi + added support for some of mouse
> > Whey did you get rid of the poll- vs interrupt-driven operation in > > pms_setintellimode()? It is necessary for proper suspend/resume > > operation. > > > In original pms_intelli.c function pmsi_setintellimode() > called with the poll = 1 only in pmsiprobe() and pmsiattach(). > In pmsi_change_state() poll = 0. > > In new pms/pmsi function pms_setintellimode() called only in > pms_change_state(). That's why. Oh, right. For some reason I though you had kept the polling mode and not the queueing mode. Diff commited. Thanks! Miod
Re: merge pms and pmsi + added support for some of mouse
On Sun, Sep 26, 2010 at 04:04:45PM +, Miod Vallat wrote: > > New diff for the simple pms/pmsi merge. > > Whey did you get rid of the poll- vs interrupt-driven operation in > pms_setintellimode()? It is necessary for proper suspend/resume > operation. > > Miod In original pms_intelli.c function pmsi_setintellimode() called with the poll = 1 only in pmsiprobe() and pmsiattach(). In pmsi_change_state() poll = 0. In new pms/pmsi function pms_setintellimode() called only in pms_change_state(). That's why. -- Alexandr Shadchin
Re: merge pms and pmsi + added support for some of mouse
> New diff for the simple pms/pmsi merge. Whey did you get rid of the poll- vs interrupt-driven operation in pms_setintellimode()? It is necessary for proper suspend/resume operation. Miod
Re: merge pms and pmsi + added support for some of mouse
New diff for the simple pms/pmsi merge. -- Alexandr Shadchin Index: distrib/notes/sparc64/hardware === RCS file: /cvs/src/distrib/notes/sparc64/hardware,v retrieving revision 1.151 diff -u -p -r1.151 hardware --- distrib/notes/sparc64/hardware 9 Apr 2009 16:02:24 - 1.151 +++ distrib/notes/sparc64/hardware 25 Sep 2010 08:12:38 - @@ -490,7 +490,7 @@ Supported devices {:-include-:}: Sun mice on Zilog serial ports (zstty) Sun mice on NS16550 serial ports (com) USB mice (ums) - PS/2 mice (pms or pmsi) + PS/2 mice (pms) Framebuffers SBUS framebuffers: Index: distrib/sets/lists/man/mi === RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1064 diff -u -p -r1.1064 mi --- distrib/sets/lists/man/mi 24 Sep 2010 12:48:26 - 1.1064 +++ distrib/sets/lists/man/mi 25 Sep 2010 08:12:39 - @@ -1999,7 +1999,6 @@ ./usr/share/man/cat4/piixpm.0 ./usr/share/man/cat4/pim.0 ./usr/share/man/cat4/pms.0 -./usr/share/man/cat4/pmsi.0 ./usr/share/man/cat4/pnp.0 ./usr/share/man/cat4/ppb.0 ./usr/share/man/cat4/ppp.0 Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.515 diff -u -p -r1.515 Makefile --- share/man/man4/Makefile 23 Sep 2010 14:35:13 - 1.515 +++ share/man/man4/Makefile 25 Sep 2010 08:13:24 - @@ -79,7 +79,6 @@ MLINKS+=isa.4 isadma.4 MLINKS+=isapnp.4 pnp.4 MLINKS+=netintro.4 networking.4 MLINKS+=pcmcia.4 pcic.4 -MLINKS+=pms.4 pmsi.4 MLINKS+=pty.4 ptm.4 MLINKS+=random.4 arandom.4 MLINKS+=random.4 srandom.4 random.4 urandom.4 Index: share/man/man4/pckbc.4 === RCS file: /cvs/src/share/man/man4/pckbc.4,v retrieving revision 1.17 diff -u -p -r1.17 pckbc.4 --- share/man/man4/pckbc.4 22 Jul 2010 07:41:59 - 1.17 +++ share/man/man4/pckbc.4 25 Sep 2010 08:13:24 - @@ -36,7 +36,6 @@ .Cd "pckbc* at ebus? " Pq "sparc64" .Cd "pckbd* at pckbc?" .Cd "pms* at pckbc?" -.Cd "pmsi* at pckbc?" .Sh DESCRIPTION The .Nm @@ -69,5 +68,4 @@ device flags to 1. .Xr isa 4 , .Xr pckbd 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr boot_config 8 Index: share/man/man4/pms.4 === RCS file: /cvs/src/share/man/man4/pms.4,v retrieving revision 1.11 diff -u -p -r1.11 pms.4 --- share/man/man4/pms.419 Oct 2007 06:29:36 - 1.11 +++ share/man/man4/pms.425 Sep 2010 08:13:24 - @@ -37,16 +37,13 @@ .Dt PMS 4 .Os .Sh NAME -.Nm pms , -.Nm pmsi +.Nm pms .Nd PS/2 auxiliary port mouse driver .Sh SYNOPSIS .Cd "pms* at pckbc?" .Cd "pms* at gsckbc?" Pq "hppa" .Cd "pms* at mkbc?" Pq "sgi" -.Cd "pmsi* at pckbc?" .Cd "wsmouse* at pms? mux 0" -.Cd "wsmouse* at pmsi? mux 0" .Sh DESCRIPTION The .Nm pms @@ -60,12 +57,11 @@ the PS/2 input port controller found on .Xr pckbc 4 , the standard PC keyboard controller found on most other machines. .Dq pms -is a generic driver which supports 2 coordinate axes and 3 buttons. -The -.Dq pmsi -variant provides specific support for wheel mice of the +is a generic driver which supports mice using common variants of the PS/2 +protocol, including wheel mice of the .Dq IntelliMouse -breed; wheel movements are mapped to a third (z-) axis. +breed. +Wheel movements are mapped to a third (z-) axis. Mouse related data are accessed by .Xr wsmouse 4 devices. Index: share/man/man4/man4.i386/lms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/lms.4,v retrieving revision 1.10 diff -u -p -r1.10 lms.4 --- share/man/man4/man4.i386/lms.4 31 May 2007 19:19:55 - 1.10 +++ share/man/man4/man4.i386/lms.4 25 Sep 2010 08:13:24 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr mms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: share/man/man4/man4.i386/mms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/mms.4,v retrieving revision 1.9 diff -u -p -r1.9 mms.4 --- share/man/man4/man4.i386/mms.4 31 May 2007 19:19:55 - 1.9 +++ share/man/man4/man4.i386/mms.4 25 Sep 2010 08:13:24 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr lms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: sys/arch/alpha/conf/GENERIC === RCS file: /cvs/src/sys/arch/alpha/conf/GENERIC,v retrieving revision 1.216 diff -u -p -r1.216 GENERIC --- sys/arch/alpha/conf/GENERIC 23 Sep 2010 16:21:46 - 1.216 +++ sys/arch/alpha/conf/GENERIC 25 Sep 2010 08:13:26 - @@ -335,7 +335,6 @@ spkr0 at p
Re: merge pms and pmsi + added support for some of mouse
Hi! Paul Irofti proposed to split the diff in a few easy steps. Step 1 - merge drivers pms and pmsi. -- Alexandr Shadchin Index: distrib/notes/sparc64/hardware === RCS file: /cvs/src/distrib/notes/sparc64/hardware,v retrieving revision 1.151 diff -u -p -r1.151 hardware --- distrib/notes/sparc64/hardware 9 Apr 2009 16:02:24 - 1.151 +++ distrib/notes/sparc64/hardware 24 Sep 2010 12:25:18 - @@ -490,7 +490,7 @@ Supported devices {:-include-:}: Sun mice on Zilog serial ports (zstty) Sun mice on NS16550 serial ports (com) USB mice (ums) - PS/2 mice (pms or pmsi) + PS/2 mice (pms) Framebuffers SBUS framebuffers: Index: distrib/sets/lists/man/mi === RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1063 diff -u -p -r1.1063 mi --- distrib/sets/lists/man/mi 23 Sep 2010 19:02:52 - 1.1063 +++ distrib/sets/lists/man/mi 24 Sep 2010 12:25:19 - @@ -2000,7 +2000,6 @@ ./usr/share/man/cat4/piixpm.0 ./usr/share/man/cat4/pim.0 ./usr/share/man/cat4/pms.0 -./usr/share/man/cat4/pmsi.0 ./usr/share/man/cat4/pnp.0 ./usr/share/man/cat4/ppb.0 ./usr/share/man/cat4/ppp.0 Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.515 diff -u -p -r1.515 Makefile --- share/man/man4/Makefile 23 Sep 2010 14:35:13 - 1.515 +++ share/man/man4/Makefile 24 Sep 2010 12:25:47 - @@ -79,7 +79,6 @@ MLINKS+=isa.4 isadma.4 MLINKS+=isapnp.4 pnp.4 MLINKS+=netintro.4 networking.4 MLINKS+=pcmcia.4 pcic.4 -MLINKS+=pms.4 pmsi.4 MLINKS+=pty.4 ptm.4 MLINKS+=random.4 arandom.4 MLINKS+=random.4 srandom.4 random.4 urandom.4 Index: share/man/man4/pckbc.4 === RCS file: /cvs/src/share/man/man4/pckbc.4,v retrieving revision 1.17 diff -u -p -r1.17 pckbc.4 --- share/man/man4/pckbc.4 22 Jul 2010 07:41:59 - 1.17 +++ share/man/man4/pckbc.4 24 Sep 2010 12:25:47 - @@ -36,7 +36,6 @@ .Cd "pckbc* at ebus? " Pq "sparc64" .Cd "pckbd* at pckbc?" .Cd "pms* at pckbc?" -.Cd "pmsi* at pckbc?" .Sh DESCRIPTION The .Nm @@ -69,5 +68,4 @@ device flags to 1. .Xr isa 4 , .Xr pckbd 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr boot_config 8 Index: share/man/man4/pms.4 === RCS file: /cvs/src/share/man/man4/pms.4,v retrieving revision 1.11 diff -u -p -r1.11 pms.4 --- share/man/man4/pms.419 Oct 2007 06:29:36 - 1.11 +++ share/man/man4/pms.424 Sep 2010 12:25:47 - @@ -37,16 +37,13 @@ .Dt PMS 4 .Os .Sh NAME -.Nm pms , -.Nm pmsi +.Nm pms .Nd PS/2 auxiliary port mouse driver .Sh SYNOPSIS .Cd "pms* at pckbc?" .Cd "pms* at gsckbc?" Pq "hppa" .Cd "pms* at mkbc?" Pq "sgi" -.Cd "pmsi* at pckbc?" .Cd "wsmouse* at pms? mux 0" -.Cd "wsmouse* at pmsi? mux 0" .Sh DESCRIPTION The .Nm pms @@ -60,12 +57,11 @@ the PS/2 input port controller found on .Xr pckbc 4 , the standard PC keyboard controller found on most other machines. .Dq pms -is a generic driver which supports 2 coordinate axes and 3 buttons. -The -.Dq pmsi -variant provides specific support for wheel mice of the +is a generic driver which supports mice using common variants of the PS/2 +protocol, including wheel mice of the .Dq IntelliMouse -breed; wheel movements are mapped to a third (z-) axis. +breed. +Wheel movements are mapped to a third (z-) axis. Mouse related data are accessed by .Xr wsmouse 4 devices. Index: share/man/man4/man4.i386/lms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/lms.4,v retrieving revision 1.10 diff -u -p -r1.10 lms.4 --- share/man/man4/man4.i386/lms.4 31 May 2007 19:19:55 - 1.10 +++ share/man/man4/man4.i386/lms.4 24 Sep 2010 12:25:47 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr mms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: share/man/man4/man4.i386/mms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/mms.4,v retrieving revision 1.9 diff -u -p -r1.9 mms.4 --- share/man/man4/man4.i386/mms.4 31 May 2007 19:19:55 - 1.9 +++ share/man/man4/man4.i386/mms.4 24 Sep 2010 12:25:47 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr lms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: sys/arch/alpha/conf/GENERIC === RCS file: /cvs/src/sys/arch/alpha/conf/GENERIC,v retrieving revision 1.216 diff -u -p -r1.216 GENERIC --- sys/arch/alpha/conf/GENERIC 23 Sep 2010 16:21:46 - 1.216 +++ sys/arch/alpha/conf/GENERIC 24 S
Re: merge pms and pmsi + added support for some of mouse
2010/9/23 Kenneth R Westerback : > > Doesn't apply. pckbc/pms.c and pms_intelli.c are rejected on -current. > > Ken > Regen -- Alexandr Shadchin Index: distrib/notes/sparc64/hardware === RCS file: /cvs/src/distrib/notes/sparc64/hardware,v retrieving revision 1.151 diff -u -p -r1.151 hardware --- distrib/notes/sparc64/hardware 9 Apr 2009 16:02:24 - 1.151 +++ distrib/notes/sparc64/hardware 23 Sep 2010 09:41:30 - @@ -490,7 +490,7 @@ Supported devices {:-include-:}: Sun mice on Zilog serial ports (zstty) Sun mice on NS16550 serial ports (com) USB mice (ums) - PS/2 mice (pms or pmsi) + PS/2 mice (pms) Framebuffers SBUS framebuffers: Index: distrib/sets/lists/man/mi === RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1062 diff -u -p -r1.1062 mi --- distrib/sets/lists/man/mi 23 Sep 2010 04:55:48 - 1.1062 +++ distrib/sets/lists/man/mi 23 Sep 2010 09:41:31 - @@ -2001,7 +2001,6 @@ ./usr/share/man/cat4/piixpm.0 ./usr/share/man/cat4/pim.0 ./usr/share/man/cat4/pms.0 -./usr/share/man/cat4/pmsi.0 ./usr/share/man/cat4/pnp.0 ./usr/share/man/cat4/ppb.0 ./usr/share/man/cat4/ppp.0 Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.514 diff -u -p -r1.514 Makefile --- share/man/man4/Makefile 19 Aug 2010 15:45:35 - 1.514 +++ share/man/man4/Makefile 23 Sep 2010 09:42:04 - @@ -79,7 +79,6 @@ MLINKS+=isa.4 isadma.4 MLINKS+=isapnp.4 pnp.4 MLINKS+=netintro.4 networking.4 MLINKS+=pcmcia.4 pcic.4 -MLINKS+=pms.4 pmsi.4 MLINKS+=pty.4 ptm.4 MLINKS+=random.4 arandom.4 MLINKS+=random.4 srandom.4 random.4 urandom.4 Index: share/man/man4/pckbc.4 === RCS file: /cvs/src/share/man/man4/pckbc.4,v retrieving revision 1.17 diff -u -p -r1.17 pckbc.4 --- share/man/man4/pckbc.4 22 Jul 2010 07:41:59 - 1.17 +++ share/man/man4/pckbc.4 23 Sep 2010 09:42:04 - @@ -36,7 +36,6 @@ .Cd "pckbc* at ebus? " Pq "sparc64" .Cd "pckbd* at pckbc?" .Cd "pms* at pckbc?" -.Cd "pmsi* at pckbc?" .Sh DESCRIPTION The .Nm @@ -69,5 +68,4 @@ device flags to 1. .Xr isa 4 , .Xr pckbd 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr boot_config 8 Index: share/man/man4/pms.4 === RCS file: /cvs/src/share/man/man4/pms.4,v retrieving revision 1.11 diff -u -p -r1.11 pms.4 --- share/man/man4/pms.419 Oct 2007 06:29:36 - 1.11 +++ share/man/man4/pms.423 Sep 2010 09:42:05 - @@ -37,16 +37,13 @@ .Dt PMS 4 .Os .Sh NAME -.Nm pms , -.Nm pmsi +.Nm pms .Nd PS/2 auxiliary port mouse driver .Sh SYNOPSIS .Cd "pms* at pckbc?" .Cd "pms* at gsckbc?" Pq "hppa" .Cd "pms* at mkbc?" Pq "sgi" -.Cd "pmsi* at pckbc?" .Cd "wsmouse* at pms? mux 0" -.Cd "wsmouse* at pmsi? mux 0" .Sh DESCRIPTION The .Nm pms @@ -60,12 +57,13 @@ the PS/2 input port controller found on .Xr pckbc 4 , the standard PC keyboard controller found on most other machines. .Dq pms -is a generic driver which supports 2 coordinate axes and 3 buttons. -The -.Dq pmsi -variant provides specific support for wheel mice of the +is a generic driver which supports mice using common variants of the PS/2 +protocol, including wheel mice of the .Dq IntelliMouse -breed; wheel movements are mapped to a third (z-) axis. +breed. +Wheel movements are mapped to a third (z-) axis. +The driver is +believed to work with both 3-button and 5-button mice with scroll wheels. Mouse related data are accessed by .Xr wsmouse 4 devices. Index: share/man/man4/man4.i386/lms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/lms.4,v retrieving revision 1.10 diff -u -p -r1.10 lms.4 --- share/man/man4/man4.i386/lms.4 31 May 2007 19:19:55 - 1.10 +++ share/man/man4/man4.i386/lms.4 23 Sep 2010 09:42:05 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr mms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: share/man/man4/man4.i386/mms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/mms.4,v retrieving revision 1.9 diff -u -p -r1.9 mms.4 --- share/man/man4/man4.i386/mms.4 31 May 2007 19:19:55 - 1.9 +++ share/man/man4/man4.i386/mms.4 23 Sep 2010 09:42:05 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr lms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: sys/arch/alpha/conf/GENERIC === RCS file: /cvs/src/sys/arch/alpha/conf/GENERIC,v retrieving revision 1.215 diff -u -p -r1.
Re: merge pms and pmsi + added support for some of mouse
On Wed, Sep 22, 2010 at 09:33:04PM -0400, Kenneth R Westerback wrote: > I haven't confirmed w/o the diff, but with the diff I have a problem > on my eeePC 1000HE. I boot, then suspend with FN-ZZ, then resume > by hitting a key, then I type 'startx'. At this point I experience > a long delay before X actually starts. > > Ken > Confirmed that this unfortunate behaviour exists w/o your diff as well as with it. Ken
Re: merge pms and pmsi + added support for some of mouse
2010/9/23 Kenneth R Westerback : > I haven't confirmed w/o the diff, but with the diff I have a problem > on my eeePC 1000HE. I boot, then suspend with FN-ZZ, then resume > by hitting a key, then I type 'startx'. At this point I experience > a long delay before X actually starts. > > Ken > Try a new diff. I made adjustments to match the style(9). Also found an error in function pms_change_state(...): ... case PMS_STATE_ENABLED: ... cmd[0] = PMS_RESET; ... pckbc_slot_enable(sc->sc_kbctag, sc->sc_kbcslot, 1); corrected for ... case PMS_STATE_ENABLED: ... pckbc_slot_enable(sc->sc_kbctag, sc->sc_kbcslot, 1); ... cmd[0] = PMS_RESET; -- Alexandr Shadchin Index: distrib/notes/sparc64/hardware === RCS file: /cvs/src/distrib/notes/sparc64/hardware,v retrieving revision 1.151 diff -u -p -r1.151 hardware --- distrib/notes/sparc64/hardware 9 Apr 2009 16:02:24 - 1.151 +++ distrib/notes/sparc64/hardware 22 Sep 2010 19:07:58 - @@ -490,7 +490,7 @@ Supported devices {:-include-:}: Sun mice on Zilog serial ports (zstty) Sun mice on NS16550 serial ports (com) USB mice (ums) - PS/2 mice (pms or pmsi) + PS/2 mice (pms) Framebuffers SBUS framebuffers: Index: distrib/sets/lists/man/mi === RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1061 diff -u -p -r1.1061 mi --- distrib/sets/lists/man/mi 25 Aug 2010 19:21:26 - 1.1061 +++ distrib/sets/lists/man/mi 22 Sep 2010 19:07:59 - @@ -2002,7 +2002,6 @@ ./usr/share/man/cat4/piixpm.0 ./usr/share/man/cat4/pim.0 ./usr/share/man/cat4/pms.0 -./usr/share/man/cat4/pmsi.0 ./usr/share/man/cat4/pnp.0 ./usr/share/man/cat4/ppb.0 ./usr/share/man/cat4/ppp.0 Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.514 diff -u -p -r1.514 Makefile --- share/man/man4/Makefile 19 Aug 2010 15:45:35 - 1.514 +++ share/man/man4/Makefile 22 Sep 2010 19:08:25 - @@ -79,7 +79,6 @@ MLINKS+=isa.4 isadma.4 MLINKS+=isapnp.4 pnp.4 MLINKS+=netintro.4 networking.4 MLINKS+=pcmcia.4 pcic.4 -MLINKS+=pms.4 pmsi.4 MLINKS+=pty.4 ptm.4 MLINKS+=random.4 arandom.4 MLINKS+=random.4 srandom.4 random.4 urandom.4 Index: share/man/man4/pckbc.4 === RCS file: /cvs/src/share/man/man4/pckbc.4,v retrieving revision 1.17 diff -u -p -r1.17 pckbc.4 --- share/man/man4/pckbc.4 22 Jul 2010 07:41:59 - 1.17 +++ share/man/man4/pckbc.4 22 Sep 2010 19:08:25 - @@ -36,7 +36,6 @@ .Cd "pckbc* at ebus? " Pq "sparc64" .Cd "pckbd* at pckbc?" .Cd "pms* at pckbc?" -.Cd "pmsi* at pckbc?" .Sh DESCRIPTION The .Nm @@ -69,5 +68,4 @@ device flags to 1. .Xr isa 4 , .Xr pckbd 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr boot_config 8 Index: share/man/man4/pms.4 === RCS file: /cvs/src/share/man/man4/pms.4,v retrieving revision 1.11 diff -u -p -r1.11 pms.4 --- share/man/man4/pms.419 Oct 2007 06:29:36 - 1.11 +++ share/man/man4/pms.422 Sep 2010 19:08:25 - @@ -37,16 +37,13 @@ .Dt PMS 4 .Os .Sh NAME -.Nm pms , -.Nm pmsi +.Nm pms .Nd PS/2 auxiliary port mouse driver .Sh SYNOPSIS .Cd "pms* at pckbc?" .Cd "pms* at gsckbc?" Pq "hppa" .Cd "pms* at mkbc?" Pq "sgi" -.Cd "pmsi* at pckbc?" .Cd "wsmouse* at pms? mux 0" -.Cd "wsmouse* at pmsi? mux 0" .Sh DESCRIPTION The .Nm pms @@ -60,12 +57,13 @@ the PS/2 input port controller found on .Xr pckbc 4 , the standard PC keyboard controller found on most other machines. .Dq pms -is a generic driver which supports 2 coordinate axes and 3 buttons. -The -.Dq pmsi -variant provides specific support for wheel mice of the +is a generic driver which supports mice using common variants of the PS/2 +protocol, including wheel mice of the .Dq IntelliMouse -breed; wheel movements are mapped to a third (z-) axis. +breed. +Wheel movements are mapped to a third (z-) axis. +The driver is +believed to work with both 3-button and 5-button mice with scroll wheels. Mouse related data are accessed by .Xr wsmouse 4 devices. Index: share/man/man4/man4.i386/lms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/lms.4,v retrieving revision 1.10 diff -u -p -r1.10 lms.4 --- share/man/man4/man4.i386/lms.4 31 May 2007 19:19:55 - 1.10 +++ share/man/man4/man4.i386/lms.4 22 Sep 2010 19:08:25 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr mms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: share/man/man4/man4.i386/mms.4 === RCS fi
Re: merge pms and pmsi + added support for some of mouse
I haven't confirmed w/o the diff, but with the diff I have a problem on my eeePC 1000HE. I boot, then suspend with FN-ZZ, then resume by hitting a key, then I type 'startx'. At this point I experience a long delay before X actually starts. Ken
Re: merge pms and pmsi + added support for some of mouse
On Wed, Sep 22, 2010 at 03:24:28AM +0600, Alexandr Shadchin wrote: > Sorry, forgot to fix previous diff. Attached correct diff The revised version not only works for me (Dell Studio amd64 laptop), but even cures the bug that the internal trackpad (pms) locks up during suspend/resume. Thanks!
Re: merge pms and pmsi + added support for some of mouse
Sorry, forgot to fix previous diff. Attached correct diff Index: distrib/notes/sparc64/hardware === RCS file: /cvs/src/distrib/notes/sparc64/hardware,v retrieving revision 1.151 diff -u -p -r1.151 hardware --- distrib/notes/sparc64/hardware 9 Apr 2009 16:02:24 - 1.151 +++ distrib/notes/sparc64/hardware 21 Sep 2010 18:02:06 - @@ -490,7 +490,7 @@ Supported devices {:-include-:}: Sun mice on Zilog serial ports (zstty) Sun mice on NS16550 serial ports (com) USB mice (ums) - PS/2 mice (pms or pmsi) + PS/2 mice (pms) Framebuffers SBUS framebuffers: Index: distrib/sets/lists/man/mi === RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1061 diff -u -p -r1.1061 mi --- distrib/sets/lists/man/mi 25 Aug 2010 19:21:26 - 1.1061 +++ distrib/sets/lists/man/mi 21 Sep 2010 18:02:07 - @@ -2002,7 +2002,6 @@ ./usr/share/man/cat4/piixpm.0 ./usr/share/man/cat4/pim.0 ./usr/share/man/cat4/pms.0 -./usr/share/man/cat4/pmsi.0 ./usr/share/man/cat4/pnp.0 ./usr/share/man/cat4/ppb.0 ./usr/share/man/cat4/ppp.0 Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.514 diff -u -p -r1.514 Makefile --- share/man/man4/Makefile 19 Aug 2010 15:45:35 - 1.514 +++ share/man/man4/Makefile 21 Sep 2010 18:03:27 - @@ -79,7 +79,6 @@ MLINKS+=isa.4 isadma.4 MLINKS+=isapnp.4 pnp.4 MLINKS+=netintro.4 networking.4 MLINKS+=pcmcia.4 pcic.4 -MLINKS+=pms.4 pmsi.4 MLINKS+=pty.4 ptm.4 MLINKS+=random.4 arandom.4 MLINKS+=random.4 srandom.4 random.4 urandom.4 Index: share/man/man4/pckbc.4 === RCS file: /cvs/src/share/man/man4/pckbc.4,v retrieving revision 1.17 diff -u -p -r1.17 pckbc.4 --- share/man/man4/pckbc.4 22 Jul 2010 07:41:59 - 1.17 +++ share/man/man4/pckbc.4 21 Sep 2010 18:03:27 - @@ -36,7 +36,6 @@ .Cd "pckbc* at ebus? " Pq "sparc64" .Cd "pckbd* at pckbc?" .Cd "pms* at pckbc?" -.Cd "pmsi* at pckbc?" .Sh DESCRIPTION The .Nm @@ -69,5 +68,4 @@ device flags to 1. .Xr isa 4 , .Xr pckbd 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr boot_config 8 Index: share/man/man4/pms.4 === RCS file: /cvs/src/share/man/man4/pms.4,v retrieving revision 1.11 diff -u -p -r1.11 pms.4 --- share/man/man4/pms.419 Oct 2007 06:29:36 - 1.11 +++ share/man/man4/pms.421 Sep 2010 18:03:28 - @@ -37,16 +37,13 @@ .Dt PMS 4 .Os .Sh NAME -.Nm pms , -.Nm pmsi +.Nm pms .Nd PS/2 auxiliary port mouse driver .Sh SYNOPSIS .Cd "pms* at pckbc?" .Cd "pms* at gsckbc?" Pq "hppa" .Cd "pms* at mkbc?" Pq "sgi" -.Cd "pmsi* at pckbc?" .Cd "wsmouse* at pms? mux 0" -.Cd "wsmouse* at pmsi? mux 0" .Sh DESCRIPTION The .Nm pms @@ -60,12 +57,13 @@ the PS/2 input port controller found on .Xr pckbc 4 , the standard PC keyboard controller found on most other machines. .Dq pms -is a generic driver which supports 2 coordinate axes and 3 buttons. -The -.Dq pmsi -variant provides specific support for wheel mice of the +is a generic driver which supports mice using common variants of the PS/2 +protocol, including wheel mice of the .Dq IntelliMouse -breed; wheel movements are mapped to a third (z-) axis. +breed. +Wheel movements are mapped to a third (z-) axis. +The driver is +believed to work with both 3-button and 5-button mice with scroll wheels. Mouse related data are accessed by .Xr wsmouse 4 devices. Index: share/man/man4/man4.i386/lms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/lms.4,v retrieving revision 1.10 diff -u -p -r1.10 lms.4 --- share/man/man4/man4.i386/lms.4 31 May 2007 19:19:55 - 1.10 +++ share/man/man4/man4.i386/lms.4 21 Sep 2010 18:03:28 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr mms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: share/man/man4/man4.i386/mms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/mms.4,v retrieving revision 1.9 diff -u -p -r1.9 mms.4 --- share/man/man4/man4.i386/mms.4 31 May 2007 19:19:55 - 1.9 +++ share/man/man4/man4.i386/mms.4 21 Sep 2010 18:03:28 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr lms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: sys/arch/alpha/conf/GENERIC === RCS file: /cvs/src/sys/arch/alpha/conf/GENERIC,v retrieving revision 1.215 diff -u -p -r1.215 GENERIC --- sys/arch/alpha/conf/GENERIC 2 Aug 2010 14:13:23 - 1.215 +++ sys/ar
merge pms and pmsi + added support for some of mouse
Hi! Merge pms and pmsi + added support for some of mouse. Tested on i386 and amd64. Please test, comment, commit, flame, etc ... :) -- Alexandr Shadchin Index: distrib/notes/sparc64/hardware === RCS file: /cvs/src/distrib/notes/sparc64/hardware,v retrieving revision 1.151 diff -u -p -r1.151 hardware --- distrib/notes/sparc64/hardware 9 Apr 2009 16:02:24 - 1.151 +++ distrib/notes/sparc64/hardware 21 Sep 2010 18:02:06 - @@ -490,7 +490,7 @@ Supported devices {:-include-:}: Sun mice on Zilog serial ports (zstty) Sun mice on NS16550 serial ports (com) USB mice (ums) - PS/2 mice (pms or pmsi) + PS/2 mice (pms) Framebuffers SBUS framebuffers: Index: distrib/sets/lists/man/mi === RCS file: /cvs/src/distrib/sets/lists/man/mi,v retrieving revision 1.1061 diff -u -p -r1.1061 mi --- distrib/sets/lists/man/mi 25 Aug 2010 19:21:26 - 1.1061 +++ distrib/sets/lists/man/mi 21 Sep 2010 18:02:07 - @@ -2002,7 +2002,6 @@ ./usr/share/man/cat4/piixpm.0 ./usr/share/man/cat4/pim.0 ./usr/share/man/cat4/pms.0 -./usr/share/man/cat4/pmsi.0 ./usr/share/man/cat4/pnp.0 ./usr/share/man/cat4/ppb.0 ./usr/share/man/cat4/ppp.0 Index: share/man/man4/Makefile === RCS file: /cvs/src/share/man/man4/Makefile,v retrieving revision 1.514 diff -u -p -r1.514 Makefile --- share/man/man4/Makefile 19 Aug 2010 15:45:35 - 1.514 +++ share/man/man4/Makefile 21 Sep 2010 18:03:27 - @@ -79,7 +79,6 @@ MLINKS+=isa.4 isadma.4 MLINKS+=isapnp.4 pnp.4 MLINKS+=netintro.4 networking.4 MLINKS+=pcmcia.4 pcic.4 -MLINKS+=pms.4 pmsi.4 MLINKS+=pty.4 ptm.4 MLINKS+=random.4 arandom.4 MLINKS+=random.4 srandom.4 random.4 urandom.4 Index: share/man/man4/pckbc.4 === RCS file: /cvs/src/share/man/man4/pckbc.4,v retrieving revision 1.17 diff -u -p -r1.17 pckbc.4 --- share/man/man4/pckbc.4 22 Jul 2010 07:41:59 - 1.17 +++ share/man/man4/pckbc.4 21 Sep 2010 18:03:27 - @@ -36,7 +36,6 @@ .Cd "pckbc* at ebus? " Pq "sparc64" .Cd "pckbd* at pckbc?" .Cd "pms* at pckbc?" -.Cd "pmsi* at pckbc?" .Sh DESCRIPTION The .Nm @@ -69,5 +68,4 @@ device flags to 1. .Xr isa 4 , .Xr pckbd 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr boot_config 8 Index: share/man/man4/pms.4 === RCS file: /cvs/src/share/man/man4/pms.4,v retrieving revision 1.11 diff -u -p -r1.11 pms.4 --- share/man/man4/pms.419 Oct 2007 06:29:36 - 1.11 +++ share/man/man4/pms.421 Sep 2010 18:03:28 - @@ -37,16 +37,13 @@ .Dt PMS 4 .Os .Sh NAME -.Nm pms , -.Nm pmsi +.Nm pms .Nd PS/2 auxiliary port mouse driver .Sh SYNOPSIS .Cd "pms* at pckbc?" .Cd "pms* at gsckbc?" Pq "hppa" .Cd "pms* at mkbc?" Pq "sgi" -.Cd "pmsi* at pckbc?" .Cd "wsmouse* at pms? mux 0" -.Cd "wsmouse* at pmsi? mux 0" .Sh DESCRIPTION The .Nm pms @@ -60,12 +57,13 @@ the PS/2 input port controller found on .Xr pckbc 4 , the standard PC keyboard controller found on most other machines. .Dq pms -is a generic driver which supports 2 coordinate axes and 3 buttons. -The -.Dq pmsi -variant provides specific support for wheel mice of the +is a generic driver which supports mice using common variants of the PS/2 +protocol, including wheel mice of the .Dq IntelliMouse -breed; wheel movements are mapped to a third (z-) axis. +breed. +Wheel movements are mapped to a third (z-) axis. +The driver is +believed to work with both 3-button and 5-button mice with scroll wheels. Mouse related data are accessed by .Xr wsmouse 4 devices. Index: share/man/man4/man4.i386/lms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/lms.4,v retrieving revision 1.10 diff -u -p -r1.10 lms.4 --- share/man/man4/man4.i386/lms.4 31 May 2007 19:19:55 - 1.10 +++ share/man/man4/man4.i386/lms.4 21 Sep 2010 18:03:28 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr mms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: share/man/man4/man4.i386/mms.4 === RCS file: /cvs/src/share/man/man4/man4.i386/mms.4,v retrieving revision 1.9 diff -u -p -r1.9 mms.4 --- share/man/man4/man4.i386/mms.4 31 May 2007 19:19:55 - 1.9 +++ share/man/man4/man4.i386/mms.4 21 Sep 2010 18:03:28 - @@ -53,6 +53,5 @@ devices. .Xr isa 4 , .Xr lms 4 , .Xr pms 4 , -.Xr pmsi 4 , .Xr ums 4 , .Xr wsmouse 4 Index: sys/arch/alpha/conf/GENERIC ===