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 -0000      1.5
> +++ pms.c     29 Sep 2010 16:05:58 -0000
> @@ -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->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.accesscookie = sc;
> @@ -213,7 +197,7 @@ pmsactivate(struct device *self, int act
>                       pms_change_state(sc, PMS_STATE_ENABLED);
>               break;
>       }
> -     return (0);
> +     return 0;
>  }
>  
>  int
> @@ -226,6 +210,7 @@ pms_change_state(struct pms_softc *sc, i
>       case PMS_STATE_ENABLED:
>               if (sc->sc_state == PMS_STATE_ENABLED)
>                       return EBUSY;
> +
>               sc->inputstate = 0;
>               sc->oldbuttons = 0;
>  
> @@ -239,36 +224,8 @@ pms_change_state(struct pms_softc *sc, i
>                   cmd, 1, 0, 1, 0);
>               if (res)
>                       printf("pms_enable: command error\n");
> -#if 0
> -             {
> -                     u_char scmd[2];
> -
> -                     scmd[0] = PMS_SET_RES;
> -                     scmd[1] = 3; /* 8 counts/mm */
> -                     res = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot, 
> scmd,
> -                                             2, 0, 1, 0);
> -                     if (res)
> -                             printf("pms_enable: setup error1 (%d)\n", res);
> -
> -                     scmd[0] = PMS_SET_SCALE21;
> -                     res = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot, 
> scmd,
> -                                             1, 0, 1, 0);
> -                     if (res)
> -                             printf("pms_enable: setup error2 (%d)\n", res);
> -
> -                     scmd[0] = PMS_SET_SAMPLE;
> -                     scmd[1] = 100; /* 100 samples/sec */
> -                     res = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot, 
> scmd,
> -                                             2, 0, 1, 0);
> -                     if (res)
> -                             printf("pms_enable: setup error3 (%d)\n", res);
> -             }
> -#endif
> -             sc->sc_state = newstate;
>               break;
>       case PMS_STATE_DISABLED:
> -
> -             /* FALLTHROUGH */
>       case PMS_STATE_SUSPENDED:
>               cmd[0] = PMS_DEV_DISABLE;
>               res = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot,
> @@ -276,39 +233,32 @@ pms_change_state(struct pms_softc *sc, i
>               if (res)
>                       printf("pms_disable: command error\n");
>               pckbc_slot_enable(sc->sc_kbctag, sc->sc_kbcslot, 0);
> -             sc->sc_state = newstate;
>               break;
>       }
> +     sc->sc_state = newstate;
>       return 0;
>  }
>  
>  int
> -pms_enable(v)
> -     void *v;
> +pms_enable(void *vsc)
>  {
> -     struct pms_softc *sc = v;
> +     struct pms_softc *sc = vsc;
>  
>       return pms_change_state(sc, PMS_STATE_ENABLED);
>  }
>  
>  void
> -pms_disable(v)
> -     void *v;
> +pms_disable(void *vsc)
>  {
> -     struct pms_softc *sc = v;
> +     struct pms_softc *sc = vsc;
>  
>       pms_change_state(sc, PMS_STATE_DISABLED);
>  }
>  
>  int
> -pms_ioctl(v, cmd, data, flag, p)
> -     void *v;
> -     u_long cmd;
> -     caddr_t data;
> -     int flag;
> -     struct proc *p;
> +pms_ioctl(void *vsc, u_long cmd, caddr_t data, int flag, struct proc *p)
>  {
> -     struct pms_softc *sc = v;
> +     struct pms_softc *sc = vsc;
>       u_char kbcmd[2];
>       int i;
>  
> @@ -316,28 +266,26 @@ pms_ioctl(v, cmd, data, flag, p)
>       case WSMOUSEIO_GTYPE:
>               *(u_int *)data = WSMOUSE_TYPE_PS2;
>               break;
> -             
>       case WSMOUSEIO_SRES:
> -             i = ((int) *(u_int *)data - 12) / 25;           
> +             i = ((int) *(u_int *)data - 12) / 25;
>               /* valid values are {0,1,2,3} */
>               if (i < 0)
>                       i = 0;
>               if (i > 3)
>                       i = 3;
> -             
> +
>               kbcmd[0] = PMS_SET_RES;
> -             kbcmd[1] = (unsigned char) i;                   
> -             i = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot, kbcmd, 
> +             kbcmd[1] = (unsigned char) i;
> +             i = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot, kbcmd,
>                   2, 0, 1, 0);
> -             
> +
>               if (i)
>                       printf("pms_ioctl: SET_RES command error\n");
>               break;
> -             
>       default:
> -             return (-1);
> +             return -1;
>       }
> -     return (0);
> +     return 0;
>  }
>  
>  /* Masks for the first byte of a packet */
> @@ -345,9 +293,8 @@ pms_ioctl(v, cmd, data, flag, p)
>  #define PS2RBUTMASK 0x02
>  #define PS2MBUTMASK 0x04
>  
> -void pmsinput(vsc, data)
> -void *vsc;
> -int data;
> +void
> +pmsinput(void *vsc, int data)
>  {
>       struct pms_softc *sc = vsc;
>       signed char dz = 0;
> @@ -403,7 +350,3 @@ int data;
>  
>       return;
>  }
> -
> -struct cfdriver pms_cd = {
> -     NULL, "pms", DV_DULL
> -};
> Index: pmsreg.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pckbc/pmsreg.h,v
> retrieving revision 1.1
> diff -u -p -r1.1 pmsreg.h
> --- pmsreg.h  1 Aug 2007 12:16:59 -0000       1.1
> +++ pmsreg.h  29 Sep 2010 16:05:58 -0000
> @@ -2,19 +2,21 @@
>  /* $NetBSD: psmreg.h,v 1.1 1998/03/22 15:41:28 drochner Exp $ */
>  
>  /* mouse commands */
> -#define      PMS_SET_SCALE11 0xe6    /* set scaling 1:1 */
> -#define      PMS_SET_SCALE21 0xe7    /* set scaling 2:1 */
> -#define      PMS_SET_RES     0xe8    /* set resolution (0..3) */
> -#define      PMS_GET_SCALE   0xe9    /* get scaling factor */
> -#define PMS_SEND_DEV_STATUS  0xe9
> -#define      PMS_SET_STREAM  0xea    /* set streaming mode */
> -#define PMS_SEND_DEV_DATA    0xeb
> +#define PMS_SET_SCALE11              0xe6    /* set scaling 1:1 */
> +#define PMS_SET_SCALE21              0xe7    /* set scaling 2:1 */
> +#define PMS_SET_RES          0xe8    /* set resolution (0..3) */
> +#define PMS_SEND_DEV_STATUS  0xe9    /* status request */
> +#define PMS_SET_STREAM_MODE  0xea
> +#define PMS_SEND_DEV_DATA    0xeb    /* read data */
> +#define PMS_RESET_WRAP_MODE  0xec
> +#define PMS_SET_WRAP_MODE    0xed
>  #define PMS_SET_REMOTE_MODE  0xf0
> -#define PMS_SEND_DEV_ID      0xf2
> -#define      PMS_SET_SAMPLE  0xf3    /* set sampling rate */
> -#define      PMS_DEV_ENABLE  0xf4    /* mouse on */
> -#define      PMS_DEV_DISABLE 0xf5    /* mouse off */
> +#define PMS_SEND_DEV_ID              0xf2    /* read device type */
> +#define PMS_SET_SAMPLE               0xf3    /* set sampling rate */
> +#define PMS_DEV_ENABLE               0xf4    /* mouse on */
> +#define PMS_DEV_DISABLE              0xf5    /* mouse off */
>  #define PMS_SET_DEFAULTS     0xf6
> -#define      PMS_RESET       0xff    /* reset */
> +#define PMS_RESEND           0xfe
> +#define PMS_RESET            0xff    /* reset */
>  
> -#define      PMS_RSTDONE     0xaa
> +#define PMS_RSTDONE          0xaa

Reply via email to