|
@@ -188,6 +188,7 @@ int comedi_driver_register(struct comedi_driver *driver)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_driver_register);
|
|
|
|
|
|
int comedi_driver_unregister(struct comedi_driver *driver)
|
|
|
{
|
|
@@ -228,6 +229,7 @@ int comedi_driver_unregister(struct comedi_driver *driver)
|
|
|
}
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_driver_unregister);
|
|
|
|
|
|
static int postconfig(struct comedi_device *dev)
|
|
|
{
|
|
@@ -621,6 +623,7 @@ unsigned int comedi_buf_write_alloc(struct comedi_async *async,
|
|
|
smp_mb();
|
|
|
return nbytes;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_write_alloc);
|
|
|
|
|
|
/* allocates nothing unless it can completely fulfill the request */
|
|
|
unsigned int comedi_buf_write_alloc_strict(struct comedi_async *async,
|
|
@@ -655,6 +658,7 @@ unsigned comedi_buf_write_free(struct comedi_async *async, unsigned int nbytes)
|
|
|
|
|
|
return nbytes;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_write_free);
|
|
|
|
|
|
/* allocates a chunk for the reader from filled (and munged) buffer space */
|
|
|
unsigned comedi_buf_read_alloc(struct comedi_async *async, unsigned nbytes)
|
|
@@ -669,6 +673,7 @@ unsigned comedi_buf_read_alloc(struct comedi_async *async, unsigned nbytes)
|
|
|
smp_rmb();
|
|
|
return nbytes;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_read_alloc);
|
|
|
|
|
|
/* transfers control of a chunk from reader to free buffer space */
|
|
|
unsigned comedi_buf_read_free(struct comedi_async *async, unsigned int nbytes)
|
|
@@ -687,6 +692,7 @@ unsigned comedi_buf_read_free(struct comedi_async *async, unsigned int nbytes)
|
|
|
async->buf_read_ptr %= async->prealloc_bufsz;
|
|
|
return nbytes;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_read_free);
|
|
|
|
|
|
void comedi_buf_memcpy_to(struct comedi_async *async, unsigned int offset,
|
|
|
const void *data, unsigned int num_bytes)
|
|
@@ -712,6 +718,7 @@ void comedi_buf_memcpy_to(struct comedi_async *async, unsigned int offset,
|
|
|
write_ptr = 0;
|
|
|
}
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_memcpy_to);
|
|
|
|
|
|
void comedi_buf_memcpy_from(struct comedi_async *async, unsigned int offset,
|
|
|
void *dest, unsigned int nbytes)
|
|
@@ -738,6 +745,7 @@ void comedi_buf_memcpy_from(struct comedi_async *async, unsigned int offset,
|
|
|
read_ptr = 0;
|
|
|
}
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_memcpy_from);
|
|
|
|
|
|
unsigned int comedi_buf_read_n_available(struct comedi_async *async)
|
|
|
{
|
|
@@ -753,6 +761,7 @@ unsigned int comedi_buf_read_n_available(struct comedi_async *async)
|
|
|
smp_rmb();
|
|
|
return num_bytes;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_read_n_available);
|
|
|
|
|
|
int comedi_buf_get(struct comedi_async *async, short *x)
|
|
|
{
|
|
@@ -765,6 +774,7 @@ int comedi_buf_get(struct comedi_async *async, short *x)
|
|
|
comedi_buf_read_free(async, sizeof(short));
|
|
|
return 1;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_get);
|
|
|
|
|
|
int comedi_buf_put(struct comedi_async *async, short x)
|
|
|
{
|
|
@@ -778,6 +788,7 @@ int comedi_buf_put(struct comedi_async *async, short x)
|
|
|
comedi_buf_write_free(async, sizeof(short));
|
|
|
return 1;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_buf_put);
|
|
|
|
|
|
void comedi_reset_async_buf(struct comedi_async *async)
|
|
|
{
|
|
@@ -797,6 +808,7 @@ void comedi_reset_async_buf(struct comedi_async *async)
|
|
|
|
|
|
async->events = 0;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(comedi_reset_async_buf);
|
|
|
|
|
|
int comedi_auto_config(struct device *hardware_device, const char *board_name,
|
|
|
const int *options, unsigned num_options)
|