diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2015-07-13 07:31:29 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2015-07-28 10:48:00 -0400 |
commit | 9b41760b03816b34f4c9eee2cbb8fda8439920fc (patch) | |
tree | e23dd5ae31cc869942bf0b9a7b537259f344c297 /drivers/iommu | |
parent | ae1ff3d623905947158fd3394854c23026337810 (diff) |
iommu: iova: Export symbols
Use EXPORT_SYMBOL_GPL() to export the iova library symbols. The symbols
include:
init_iova_domain();
iova_cache_get();
iova_cache_put();
iova_cache_init();
alloc_iova();
find_iova();
__free_iova();
free_iova();
put_iova_domain();
reserve_iova();
copy_reserved_iova();
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/iova.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/iommu/iova.c b/drivers/iommu/iova.c index ed95f7a0fad3..cbd74c79b212 100644 --- a/drivers/iommu/iova.c +++ b/drivers/iommu/iova.c | |||
@@ -38,6 +38,7 @@ init_iova_domain(struct iova_domain *iovad, unsigned long granule, | |||
38 | iovad->start_pfn = start_pfn; | 38 | iovad->start_pfn = start_pfn; |
39 | iovad->dma_32bit_pfn = pfn_32bit; | 39 | iovad->dma_32bit_pfn = pfn_32bit; |
40 | } | 40 | } |
41 | EXPORT_SYMBOL_GPL(init_iova_domain); | ||
41 | 42 | ||
42 | static struct rb_node * | 43 | static struct rb_node * |
43 | __get_cached_rbnode(struct iova_domain *iovad, unsigned long *limit_pfn) | 44 | __get_cached_rbnode(struct iova_domain *iovad, unsigned long *limit_pfn) |
@@ -238,6 +239,7 @@ int iova_cache_get(void) | |||
238 | 239 | ||
239 | return 0; | 240 | return 0; |
240 | } | 241 | } |
242 | EXPORT_SYMBOL_GPL(iova_cache_get); | ||
241 | 243 | ||
242 | void iova_cache_put(void) | 244 | void iova_cache_put(void) |
243 | { | 245 | { |
@@ -251,6 +253,7 @@ void iova_cache_put(void) | |||
251 | kmem_cache_destroy(iova_cache); | 253 | kmem_cache_destroy(iova_cache); |
252 | mutex_unlock(&iova_cache_mutex); | 254 | mutex_unlock(&iova_cache_mutex); |
253 | } | 255 | } |
256 | EXPORT_SYMBOL_GPL(iova_cache_put); | ||
254 | 257 | ||
255 | /** | 258 | /** |
256 | * alloc_iova - allocates an iova | 259 | * alloc_iova - allocates an iova |
@@ -285,6 +288,7 @@ alloc_iova(struct iova_domain *iovad, unsigned long size, | |||
285 | 288 | ||
286 | return new_iova; | 289 | return new_iova; |
287 | } | 290 | } |
291 | EXPORT_SYMBOL_GPL(alloc_iova); | ||
288 | 292 | ||
289 | /** | 293 | /** |
290 | * find_iova - find's an iova for a given pfn | 294 | * find_iova - find's an iova for a given pfn |
@@ -325,6 +329,7 @@ struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn) | |||
325 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); | 329 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); |
326 | return NULL; | 330 | return NULL; |
327 | } | 331 | } |
332 | EXPORT_SYMBOL_GPL(find_iova); | ||
328 | 333 | ||
329 | /** | 334 | /** |
330 | * __free_iova - frees the given iova | 335 | * __free_iova - frees the given iova |
@@ -343,6 +348,7 @@ __free_iova(struct iova_domain *iovad, struct iova *iova) | |||
343 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); | 348 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); |
344 | free_iova_mem(iova); | 349 | free_iova_mem(iova); |
345 | } | 350 | } |
351 | EXPORT_SYMBOL_GPL(__free_iova); | ||
346 | 352 | ||
347 | /** | 353 | /** |
348 | * free_iova - finds and frees the iova for a given pfn | 354 | * free_iova - finds and frees the iova for a given pfn |
@@ -360,6 +366,7 @@ free_iova(struct iova_domain *iovad, unsigned long pfn) | |||
360 | __free_iova(iovad, iova); | 366 | __free_iova(iovad, iova); |
361 | 367 | ||
362 | } | 368 | } |
369 | EXPORT_SYMBOL_GPL(free_iova); | ||
363 | 370 | ||
364 | /** | 371 | /** |
365 | * put_iova_domain - destroys the iova doamin | 372 | * put_iova_domain - destroys the iova doamin |
@@ -382,6 +389,7 @@ void put_iova_domain(struct iova_domain *iovad) | |||
382 | } | 389 | } |
383 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); | 390 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); |
384 | } | 391 | } |
392 | EXPORT_SYMBOL_GPL(put_iova_domain); | ||
385 | 393 | ||
386 | static int | 394 | static int |
387 | __is_range_overlap(struct rb_node *node, | 395 | __is_range_overlap(struct rb_node *node, |
@@ -471,6 +479,7 @@ finish: | |||
471 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); | 479 | spin_unlock_irqrestore(&iovad->iova_rbtree_lock, flags); |
472 | return iova; | 480 | return iova; |
473 | } | 481 | } |
482 | EXPORT_SYMBOL_GPL(reserve_iova); | ||
474 | 483 | ||
475 | /** | 484 | /** |
476 | * copy_reserved_iova - copies the reserved between domains | 485 | * copy_reserved_iova - copies the reserved between domains |
@@ -497,6 +506,7 @@ copy_reserved_iova(struct iova_domain *from, struct iova_domain *to) | |||
497 | } | 506 | } |
498 | spin_unlock_irqrestore(&from->iova_rbtree_lock, flags); | 507 | spin_unlock_irqrestore(&from->iova_rbtree_lock, flags); |
499 | } | 508 | } |
509 | EXPORT_SYMBOL_GPL(copy_reserved_iova); | ||
500 | 510 | ||
501 | struct iova * | 511 | struct iova * |
502 | split_and_remove_iova(struct iova_domain *iovad, struct iova *iova, | 512 | split_and_remove_iova(struct iova_domain *iovad, struct iova *iova, |