diff options
| -rw-r--r-- | drivers/staging/comedi/drivers/unioxx5.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/staging/comedi/drivers/unioxx5.c b/drivers/staging/comedi/drivers/unioxx5.c index fc88b66f408d..c9201d821fbc 100644 --- a/drivers/staging/comedi/drivers/unioxx5.c +++ b/drivers/staging/comedi/drivers/unioxx5.c | |||
| @@ -371,15 +371,13 @@ static int __unioxx5_subdev_init(struct comedi_device *dev, | |||
| 371 | int i, to, ndef_flag = 0; | 371 | int i, to, ndef_flag = 0; |
| 372 | int ret; | 372 | int ret; |
| 373 | 373 | ||
| 374 | usp = kzalloc(sizeof(*usp), GFP_KERNEL); | 374 | usp = comedi_alloc_spriv(s, sizeof(*usp)); |
| 375 | if (usp == NULL) | 375 | if (!usp) |
| 376 | return -ENOMEM; | 376 | return -ENOMEM; |
| 377 | 377 | ||
| 378 | ret = __comedi_request_region(dev, iobase, UNIOXX5_SIZE); | 378 | ret = __comedi_request_region(dev, iobase, UNIOXX5_SIZE); |
| 379 | if (ret) { | 379 | if (ret) |
| 380 | kfree(usp); | ||
| 381 | return ret; | 380 | return ret; |
| 382 | } | ||
| 383 | usp->usp_iobase = iobase; | 381 | usp->usp_iobase = iobase; |
| 384 | 382 | ||
| 385 | /* defining modules types */ | 383 | /* defining modules types */ |
| @@ -413,7 +411,6 @@ static int __unioxx5_subdev_init(struct comedi_device *dev, | |||
| 413 | 411 | ||
| 414 | /* initial subdevice for digital or analog i/o */ | 412 | /* initial subdevice for digital or analog i/o */ |
| 415 | s->type = COMEDI_SUBD_DIO; | 413 | s->type = COMEDI_SUBD_DIO; |
| 416 | s->private = usp; | ||
| 417 | s->subdev_flags = SDF_READABLE | SDF_WRITABLE; | 414 | s->subdev_flags = SDF_READABLE | SDF_WRITABLE; |
| 418 | s->n_chan = UNIOXX5_NUM_OF_CHANS; | 415 | s->n_chan = UNIOXX5_NUM_OF_CHANS; |
| 419 | s->maxdata = 0xFFF; | 416 | s->maxdata = 0xFFF; |
| @@ -483,7 +480,6 @@ static void unioxx5_detach(struct comedi_device *dev) | |||
| 483 | spriv = s->private; | 480 | spriv = s->private; |
| 484 | if (spriv && spriv->usp_iobase) | 481 | if (spriv && spriv->usp_iobase) |
| 485 | release_region(spriv->usp_iobase, UNIOXX5_SIZE); | 482 | release_region(spriv->usp_iobase, UNIOXX5_SIZE); |
| 486 | kfree(spriv); | ||
| 487 | } | 483 | } |
| 488 | } | 484 | } |
| 489 | 485 | ||
