diff options
Diffstat (limited to 'drivers/dma/dmaengine.c')
| -rw-r--r-- | drivers/dma/dmaengine.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 15278044295c..322ee2984e3d 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c | |||
| @@ -176,6 +176,7 @@ void dma_chan_cleanup(struct kref *kref) | |||
| 176 | chan->client = NULL; | 176 | chan->client = NULL; |
| 177 | kref_put(&chan->device->refcount, dma_async_device_cleanup); | 177 | kref_put(&chan->device->refcount, dma_async_device_cleanup); |
| 178 | } | 178 | } |
| 179 | EXPORT_SYMBOL(dma_chan_cleanup); | ||
| 179 | 180 | ||
| 180 | static void dma_chan_free_rcu(struct rcu_head *rcu) | 181 | static void dma_chan_free_rcu(struct rcu_head *rcu) |
| 181 | { | 182 | { |
| @@ -261,6 +262,7 @@ struct dma_client *dma_async_client_register(dma_event_callback event_callback) | |||
| 261 | 262 | ||
| 262 | return client; | 263 | return client; |
| 263 | } | 264 | } |
| 265 | EXPORT_SYMBOL(dma_async_client_register); | ||
| 264 | 266 | ||
| 265 | /** | 267 | /** |
| 266 | * dma_async_client_unregister - unregister a client and free the &dma_client | 268 | * dma_async_client_unregister - unregister a client and free the &dma_client |
| @@ -287,6 +289,7 @@ void dma_async_client_unregister(struct dma_client *client) | |||
| 287 | kfree(client); | 289 | kfree(client); |
| 288 | dma_chans_rebalance(); | 290 | dma_chans_rebalance(); |
| 289 | } | 291 | } |
| 292 | EXPORT_SYMBOL(dma_async_client_unregister); | ||
| 290 | 293 | ||
| 291 | /** | 294 | /** |
| 292 | * dma_async_client_chan_request - request DMA channels | 295 | * dma_async_client_chan_request - request DMA channels |
| @@ -304,6 +307,7 @@ void dma_async_client_chan_request(struct dma_client *client, | |||
| 304 | client->chans_desired = number; | 307 | client->chans_desired = number; |
| 305 | dma_chans_rebalance(); | 308 | dma_chans_rebalance(); |
| 306 | } | 309 | } |
| 310 | EXPORT_SYMBOL(dma_async_client_chan_request); | ||
| 307 | 311 | ||
| 308 | /** | 312 | /** |
| 309 | * dma_async_device_register - registers DMA devices found | 313 | * dma_async_device_register - registers DMA devices found |
| @@ -346,6 +350,7 @@ int dma_async_device_register(struct dma_device *device) | |||
| 346 | 350 | ||
| 347 | return 0; | 351 | return 0; |
| 348 | } | 352 | } |
| 353 | EXPORT_SYMBOL(dma_async_device_register); | ||
| 349 | 354 | ||
| 350 | /** | 355 | /** |
| 351 | * dma_async_device_cleanup - function called when all references are released | 356 | * dma_async_device_cleanup - function called when all references are released |
| @@ -390,23 +395,12 @@ void dma_async_device_unregister(struct dma_device *device) | |||
| 390 | kref_put(&device->refcount, dma_async_device_cleanup); | 395 | kref_put(&device->refcount, dma_async_device_cleanup); |
| 391 | wait_for_completion(&device->done); | 396 | wait_for_completion(&device->done); |
| 392 | } | 397 | } |
| 398 | EXPORT_SYMBOL(dma_async_device_unregister); | ||
| 393 | 399 | ||
| 394 | static int __init dma_bus_init(void) | 400 | static int __init dma_bus_init(void) |
| 395 | { | 401 | { |
| 396 | mutex_init(&dma_list_mutex); | 402 | mutex_init(&dma_list_mutex); |
| 397 | return class_register(&dma_devclass); | 403 | return class_register(&dma_devclass); |
| 398 | } | 404 | } |
| 399 | |||
| 400 | subsys_initcall(dma_bus_init); | 405 | subsys_initcall(dma_bus_init); |
| 401 | 406 | ||
| 402 | EXPORT_SYMBOL(dma_async_client_register); | ||
| 403 | EXPORT_SYMBOL(dma_async_client_unregister); | ||
| 404 | EXPORT_SYMBOL(dma_async_client_chan_request); | ||
| 405 | EXPORT_SYMBOL(dma_async_memcpy_buf_to_buf); | ||
| 406 | EXPORT_SYMBOL(dma_async_memcpy_buf_to_pg); | ||
| 407 | EXPORT_SYMBOL(dma_async_memcpy_pg_to_pg); | ||
| 408 | EXPORT_SYMBOL(dma_async_memcpy_complete); | ||
| 409 | EXPORT_SYMBOL(dma_async_memcpy_issue_pending); | ||
| 410 | EXPORT_SYMBOL(dma_async_device_register); | ||
| 411 | EXPORT_SYMBOL(dma_async_device_unregister); | ||
| 412 | EXPORT_SYMBOL(dma_chan_cleanup); | ||
