|
@@ -292,6 +292,8 @@ static inline struct comedi_subdevice *comedi_get_write_subdevice(
|
|
|
return info->device->write_subdev;
|
|
|
}
|
|
|
|
|
|
+int comedi_alloc_subdevices(struct comedi_device *, unsigned int);
|
|
|
+
|
|
|
void comedi_device_detach(struct comedi_device *dev);
|
|
|
int comedi_device_attach(struct comedi_device *dev,
|
|
|
struct comedi_devconfig *it);
|
|
@@ -413,26 +415,6 @@ struct comedi_lrange {
|
|
|
|
|
|
/* some silly little inline functions */
|
|
|
|
|
|
-static inline int alloc_subdevices(struct comedi_device *dev,
|
|
|
- unsigned int num_subdevices)
|
|
|
-{
|
|
|
- unsigned i;
|
|
|
-
|
|
|
- dev->n_subdevices = num_subdevices;
|
|
|
- dev->subdevices =
|
|
|
- kcalloc(num_subdevices, sizeof(struct comedi_subdevice),
|
|
|
- GFP_KERNEL);
|
|
|
- if (!dev->subdevices)
|
|
|
- return -ENOMEM;
|
|
|
- for (i = 0; i < num_subdevices; ++i) {
|
|
|
- dev->subdevices[i].device = dev;
|
|
|
- dev->subdevices[i].async_dma_dir = DMA_NONE;
|
|
|
- spin_lock_init(&dev->subdevices[i].spin_lock);
|
|
|
- dev->subdevices[i].minor = -1;
|
|
|
- }
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
static inline int alloc_private(struct comedi_device *dev, int size)
|
|
|
{
|
|
|
dev->private = kzalloc(size, GFP_KERNEL);
|