const struct comedi_lrange *darangelist[2];
 
-       short ao[2];
+       unsigned short ao[2];
 
        volatile int dacsr;     /* software copies of registers */
        volatile int adcsr;
 
        struct {
                int chan;
-               short *buf;     /* DMA buffer */
+               unsigned short *buf;    /* DMA buffer */
                volatile int size;      /* size of current transfer */
        } dma[2];
        int dma_maxsize;        /* max size of DMA transfer (in bytes) */
 
 static int dt282x_grab_dma(struct comedi_device *dev, int dma1, int dma2);
 
-static void dt282x_munge(struct comedi_device *dev, short *buf,
+static void dt282x_munge(struct comedi_device *dev, unsigned short *buf,
                         unsigned int nbytes)
 {
        const struct dt282x_board *board = comedi_board(dev);
 #if 0
        if (adcsr & DT2821_ADDONE) {
                int ret;
-               short data;
+               unsigned short data;
 
-               data = (short)inw(dev->iobase + DT2821_ADDAT);
+               data = inw(dev->iobase + DT2821_ADDAT);
                data &= (1 << board->adbits) - 1;
 
                if (devpriv->ad_2scomp)
 {
        const struct dt282x_board *board = comedi_board(dev);
        struct dt282x_private *devpriv = dev->private;
-       short d;
+       unsigned short d;
        unsigned int chan;
 
        chan = CR_CHAN(insn->chanspec);