The const boardinfo pointer is only used in this function to work out
the value needed to convert the data to its twos complement. Use the
comedi_subdevice 'maxdata' to do this conversion and remove the 'board'
pointer.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                              struct comedi_subdevice *s,
                              struct comedi_insn *insn, unsigned int *data)
 {
-       const struct pcmad_board_struct *board = comedi_board(dev);
        struct pcmad_priv_struct *devpriv = dev->private;
        int chan;
        int n;
                data[n] |= (inb(dev->iobase + PCMAD_MSB) << 8);
 
                if (devpriv->twos_comp)
-                       data[n] ^= (1 << (board->n_ai_bits - 1));
+                       data[n] ^= ((s->maxdata + 1) >> 1);
        }
 
        return n;