diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-04-20 06:56:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-21 15:28:47 -0400 |
commit | 32a6d90bb341417b9a3a42fcbebd9b092396dee6 (patch) | |
tree | b87233d83cd06491595affba149954ab56c5b357 /drivers/net/ethernet/ti | |
parent | 8e7073a3884099df720c07751f205ab863c32f7c (diff) |
davinci_cpdma: export symbols used by other drivers
The davinci_emac driver can be a module, so the symbols
it needs from the cpdma driver must be exported.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ti')
-rw-r--r-- | drivers/net/ethernet/ti/davinci_cpdma.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/ethernet/ti/davinci_cpdma.c b/drivers/net/ethernet/ti/davinci_cpdma.c index 34558766cbf0..d614c374ed9d 100644 --- a/drivers/net/ethernet/ti/davinci_cpdma.c +++ b/drivers/net/ethernet/ti/davinci_cpdma.c | |||
@@ -92,7 +92,7 @@ enum cpdma_state { | |||
92 | CPDMA_STATE_TEARDOWN, | 92 | CPDMA_STATE_TEARDOWN, |
93 | }; | 93 | }; |
94 | 94 | ||
95 | const char *cpdma_state_str[] = { "idle", "active", "teardown" }; | 95 | static const char *cpdma_state_str[] = { "idle", "active", "teardown" }; |
96 | 96 | ||
97 | struct cpdma_ctlr { | 97 | struct cpdma_ctlr { |
98 | enum cpdma_state state; | 98 | enum cpdma_state state; |
@@ -276,6 +276,7 @@ struct cpdma_ctlr *cpdma_ctlr_create(struct cpdma_params *params) | |||
276 | ctlr->num_chan = CPDMA_MAX_CHANNELS; | 276 | ctlr->num_chan = CPDMA_MAX_CHANNELS; |
277 | return ctlr; | 277 | return ctlr; |
278 | } | 278 | } |
279 | EXPORT_SYMBOL_GPL(cpdma_ctlr_create); | ||
279 | 280 | ||
280 | int cpdma_ctlr_start(struct cpdma_ctlr *ctlr) | 281 | int cpdma_ctlr_start(struct cpdma_ctlr *ctlr) |
281 | { | 282 | { |
@@ -321,6 +322,7 @@ int cpdma_ctlr_start(struct cpdma_ctlr *ctlr) | |||
321 | spin_unlock_irqrestore(&ctlr->lock, flags); | 322 | spin_unlock_irqrestore(&ctlr->lock, flags); |
322 | return 0; | 323 | return 0; |
323 | } | 324 | } |
325 | EXPORT_SYMBOL_GPL(cpdma_ctlr_start); | ||
324 | 326 | ||
325 | int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr) | 327 | int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr) |
326 | { | 328 | { |
@@ -351,6 +353,7 @@ int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr) | |||
351 | spin_unlock_irqrestore(&ctlr->lock, flags); | 353 | spin_unlock_irqrestore(&ctlr->lock, flags); |
352 | return 0; | 354 | return 0; |
353 | } | 355 | } |
356 | EXPORT_SYMBOL_GPL(cpdma_ctlr_stop); | ||
354 | 357 | ||
355 | int cpdma_ctlr_dump(struct cpdma_ctlr *ctlr) | 358 | int cpdma_ctlr_dump(struct cpdma_ctlr *ctlr) |
356 | { | 359 | { |
@@ -421,6 +424,7 @@ int cpdma_ctlr_dump(struct cpdma_ctlr *ctlr) | |||
421 | spin_unlock_irqrestore(&ctlr->lock, flags); | 424 | spin_unlock_irqrestore(&ctlr->lock, flags); |
422 | return 0; | 425 | return 0; |
423 | } | 426 | } |
427 | EXPORT_SYMBOL_GPL(cpdma_ctlr_dump); | ||
424 | 428 | ||
425 | int cpdma_ctlr_destroy(struct cpdma_ctlr *ctlr) | 429 | int cpdma_ctlr_destroy(struct cpdma_ctlr *ctlr) |
426 | { | 430 | { |
@@ -444,6 +448,7 @@ int cpdma_ctlr_destroy(struct cpdma_ctlr *ctlr) | |||
444 | kfree(ctlr); | 448 | kfree(ctlr); |
445 | return ret; | 449 | return ret; |
446 | } | 450 | } |
451 | EXPORT_SYMBOL_GPL(cpdma_ctlr_destroy); | ||
447 | 452 | ||
448 | int cpdma_ctlr_int_ctrl(struct cpdma_ctlr *ctlr, bool enable) | 453 | int cpdma_ctlr_int_ctrl(struct cpdma_ctlr *ctlr, bool enable) |
449 | { | 454 | { |
@@ -528,6 +533,7 @@ err_chan_busy: | |||
528 | err_chan_alloc: | 533 | err_chan_alloc: |
529 | return ERR_PTR(ret); | 534 | return ERR_PTR(ret); |
530 | } | 535 | } |
536 | EXPORT_SYMBOL_GPL(cpdma_chan_create); | ||
531 | 537 | ||
532 | int cpdma_chan_destroy(struct cpdma_chan *chan) | 538 | int cpdma_chan_destroy(struct cpdma_chan *chan) |
533 | { | 539 | { |
@@ -545,6 +551,7 @@ int cpdma_chan_destroy(struct cpdma_chan *chan) | |||
545 | kfree(chan); | 551 | kfree(chan); |
546 | return 0; | 552 | return 0; |
547 | } | 553 | } |
554 | EXPORT_SYMBOL_GPL(cpdma_chan_destroy); | ||
548 | 555 | ||
549 | int cpdma_chan_get_stats(struct cpdma_chan *chan, | 556 | int cpdma_chan_get_stats(struct cpdma_chan *chan, |
550 | struct cpdma_chan_stats *stats) | 557 | struct cpdma_chan_stats *stats) |
@@ -693,6 +700,7 @@ unlock_ret: | |||
693 | spin_unlock_irqrestore(&chan->lock, flags); | 700 | spin_unlock_irqrestore(&chan->lock, flags); |
694 | return ret; | 701 | return ret; |
695 | } | 702 | } |
703 | EXPORT_SYMBOL_GPL(cpdma_chan_submit); | ||
696 | 704 | ||
697 | static void __cpdma_chan_free(struct cpdma_chan *chan, | 705 | static void __cpdma_chan_free(struct cpdma_chan *chan, |
698 | struct cpdma_desc __iomem *desc, | 706 | struct cpdma_desc __iomem *desc, |
@@ -776,6 +784,7 @@ int cpdma_chan_process(struct cpdma_chan *chan, int quota) | |||
776 | } | 784 | } |
777 | return used; | 785 | return used; |
778 | } | 786 | } |
787 | EXPORT_SYMBOL_GPL(cpdma_chan_process); | ||
779 | 788 | ||
780 | int cpdma_chan_start(struct cpdma_chan *chan) | 789 | int cpdma_chan_start(struct cpdma_chan *chan) |
781 | { | 790 | { |
@@ -803,6 +812,7 @@ int cpdma_chan_start(struct cpdma_chan *chan) | |||
803 | spin_unlock_irqrestore(&chan->lock, flags); | 812 | spin_unlock_irqrestore(&chan->lock, flags); |
804 | return 0; | 813 | return 0; |
805 | } | 814 | } |
815 | EXPORT_SYMBOL_GPL(cpdma_chan_start); | ||
806 | 816 | ||
807 | int cpdma_chan_stop(struct cpdma_chan *chan) | 817 | int cpdma_chan_stop(struct cpdma_chan *chan) |
808 | { | 818 | { |
@@ -863,6 +873,7 @@ int cpdma_chan_stop(struct cpdma_chan *chan) | |||
863 | spin_unlock_irqrestore(&chan->lock, flags); | 873 | spin_unlock_irqrestore(&chan->lock, flags); |
864 | return 0; | 874 | return 0; |
865 | } | 875 | } |
876 | EXPORT_SYMBOL_GPL(cpdma_chan_stop); | ||
866 | 877 | ||
867 | int cpdma_chan_int_ctrl(struct cpdma_chan *chan, bool enable) | 878 | int cpdma_chan_int_ctrl(struct cpdma_chan *chan, bool enable) |
868 | { | 879 | { |