Skip to content

Commit

Permalink
staging: comedi: 8255: refactor subdev_8255_init
Browse files Browse the repository at this point in the history
Refactor the initialization of the 8255 so that the private data
allocation is done before the subdevice is setup. This makes sure
that the setup is complete.

Also, add a bit of whitespace to improve the readability.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Frank Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed Jun 14, 2012
1 parent d29a18d commit cc31b1b
Showing 1 changed file with 15 additions and 16 deletions.
31 changes: 15 additions & 16 deletions drivers/staging/comedi/drivers/8255.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,27 +310,26 @@ int subdev_8255_init(struct comedi_device *dev, struct comedi_subdevice *s,
{
struct subdev_8255_private *spriv;

s->type = COMEDI_SUBD_DIO;
s->subdev_flags = SDF_READABLE | SDF_WRITABLE;
s->n_chan = 24;
s->range_table = &range_digital;
s->maxdata = 1;

spriv = kmalloc(sizeof(*spriv), GFP_KERNEL);
if (!spriv)
return -ENOMEM;
s->private = spriv;

spriv->iobase = iobase;
if (io == NULL)
spriv->io = subdev_8255_io;
else
spriv->io = io;
s->insn_bits = subdev_8255_insn;
s->insn_config = subdev_8255_insn_config;
spriv->iobase = iobase;
spriv->io = io ? io : subdev_8255_io;

s->private = spriv;

s->type = COMEDI_SUBD_DIO;
s->subdev_flags = SDF_READABLE | SDF_WRITABLE;
s->n_chan = 24;
s->range_table = &range_digital;
s->maxdata = 1;
s->insn_bits = subdev_8255_insn;
s->insn_config = subdev_8255_insn_config;

s->state = 0;
s->io_bits = 0;

s->state = 0;
s->io_bits = 0;
do_config(dev, s);

return 0;
Expand Down

0 comments on commit cc31b1b

Please sign in to comment.