diff options
author | Olof Johansson <olof@lixom.net> | 2015-02-06 03:26:35 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-02-06 03:26:35 -0500 |
commit | 68a028f856f7ad2482a617ae02518634bae16809 (patch) | |
tree | 08077391a33698cfb4e60a26a34d7ff9f7798904 | |
parent | 98d67219da3c23c1e5c27986edcce356b68761f2 (diff) | |
parent | a68094c67bf1fa86630bd011d2d212899c41e1bc (diff) |
Merge tag 'drivers-soc-ti' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers
Merge "soc: ti: Keystone Navigator SOC driver updates for 3.20" from Santosh
Shilimkar:
Keystone Navigator SOC driver updates for 3.20
- Makefile tweak so that knav_qmss and knav_dma can be made loadable
modules without depedency issues.
- Few more exports to support ARM allmodconfig.
- Marking knav_range_setup_acc_irq() local function as static.
* tag 'drivers-soc-ti' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
soc: ti: knav_qmss_queue: change knav_range_setup_acc_irq to static
soc: ti: knav_qmss_queue: makefile tweak to build as dynamic module
soc: ti: knav_qmss_queue: export API calls for use by user driver
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | drivers/soc/ti/Makefile | 3 | ||||
-rw-r--r-- | drivers/soc/ti/knav_qmss_acc.c | 2 | ||||
-rw-r--r-- | drivers/soc/ti/knav_qmss_queue.c | 9 |
3 files changed, 12 insertions, 2 deletions
diff --git a/drivers/soc/ti/Makefile b/drivers/soc/ti/Makefile index 6bed611e1934..135bdad7a6de 100644 --- a/drivers/soc/ti/Makefile +++ b/drivers/soc/ti/Makefile | |||
@@ -1,5 +1,6 @@ | |||
1 | # | 1 | # |
2 | # TI Keystone SOC drivers | 2 | # TI Keystone SOC drivers |
3 | # | 3 | # |
4 | obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss_queue.o knav_qmss_acc.o | 4 | obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss.o |
5 | knav_qmss-y := knav_qmss_queue.o knav_qmss_acc.o | ||
5 | obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o | 6 | obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o |
diff --git a/drivers/soc/ti/knav_qmss_acc.c b/drivers/soc/ti/knav_qmss_acc.c index 6fbfde6e748f..ef6f69db0bd0 100644 --- a/drivers/soc/ti/knav_qmss_acc.c +++ b/drivers/soc/ti/knav_qmss_acc.c | |||
@@ -209,7 +209,7 @@ static irqreturn_t knav_acc_int_handler(int irq, void *_instdata) | |||
209 | return IRQ_HANDLED; | 209 | return IRQ_HANDLED; |
210 | } | 210 | } |
211 | 211 | ||
212 | int knav_range_setup_acc_irq(struct knav_range_info *range, | 212 | static int knav_range_setup_acc_irq(struct knav_range_info *range, |
213 | int queue, bool enabled) | 213 | int queue, bool enabled) |
214 | { | 214 | { |
215 | struct knav_device *kdev = range->kdev; | 215 | struct knav_device *kdev = range->kdev; |
diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index 8e6a95d91d33..6d8646db52cc 100644 --- a/drivers/soc/ti/knav_qmss_queue.c +++ b/drivers/soc/ti/knav_qmss_queue.c | |||
@@ -626,6 +626,7 @@ int knav_queue_push(void *qhandle, dma_addr_t dma, | |||
626 | atomic_inc(&qh->stats.pushes); | 626 | atomic_inc(&qh->stats.pushes); |
627 | return 0; | 627 | return 0; |
628 | } | 628 | } |
629 | EXPORT_SYMBOL_GPL(knav_queue_push); | ||
629 | 630 | ||
630 | /** | 631 | /** |
631 | * knav_queue_pop() - pop data (or descriptor) from the head of a queue | 632 | * knav_queue_pop() - pop data (or descriptor) from the head of a queue |
@@ -663,6 +664,7 @@ dma_addr_t knav_queue_pop(void *qhandle, unsigned *size) | |||
663 | atomic_inc(&qh->stats.pops); | 664 | atomic_inc(&qh->stats.pops); |
664 | return dma; | 665 | return dma; |
665 | } | 666 | } |
667 | EXPORT_SYMBOL_GPL(knav_queue_pop); | ||
666 | 668 | ||
667 | /* carve out descriptors and push into queue */ | 669 | /* carve out descriptors and push into queue */ |
668 | static void kdesc_fill_pool(struct knav_pool *pool) | 670 | static void kdesc_fill_pool(struct knav_pool *pool) |
@@ -717,12 +719,14 @@ dma_addr_t knav_pool_desc_virt_to_dma(void *ph, void *virt) | |||
717 | struct knav_pool *pool = ph; | 719 | struct knav_pool *pool = ph; |
718 | return pool->region->dma_start + (virt - pool->region->virt_start); | 720 | return pool->region->dma_start + (virt - pool->region->virt_start); |
719 | } | 721 | } |
722 | EXPORT_SYMBOL_GPL(knav_pool_desc_virt_to_dma); | ||
720 | 723 | ||
721 | void *knav_pool_desc_dma_to_virt(void *ph, dma_addr_t dma) | 724 | void *knav_pool_desc_dma_to_virt(void *ph, dma_addr_t dma) |
722 | { | 725 | { |
723 | struct knav_pool *pool = ph; | 726 | struct knav_pool *pool = ph; |
724 | return pool->region->virt_start + (dma - pool->region->dma_start); | 727 | return pool->region->virt_start + (dma - pool->region->dma_start); |
725 | } | 728 | } |
729 | EXPORT_SYMBOL_GPL(knav_pool_desc_dma_to_virt); | ||
726 | 730 | ||
727 | /** | 731 | /** |
728 | * knav_pool_create() - Create a pool of descriptors | 732 | * knav_pool_create() - Create a pool of descriptors |
@@ -878,6 +882,7 @@ void *knav_pool_desc_get(void *ph) | |||
878 | data = knav_pool_desc_dma_to_virt(pool, dma); | 882 | data = knav_pool_desc_dma_to_virt(pool, dma); |
879 | return data; | 883 | return data; |
880 | } | 884 | } |
885 | EXPORT_SYMBOL_GPL(knav_pool_desc_get); | ||
881 | 886 | ||
882 | /** | 887 | /** |
883 | * knav_pool_desc_put() - return a descriptor to the pool | 888 | * knav_pool_desc_put() - return a descriptor to the pool |
@@ -890,6 +895,7 @@ void knav_pool_desc_put(void *ph, void *desc) | |||
890 | dma = knav_pool_desc_virt_to_dma(pool, desc); | 895 | dma = knav_pool_desc_virt_to_dma(pool, desc); |
891 | knav_queue_push(pool->queue, dma, pool->region->desc_size, 0); | 896 | knav_queue_push(pool->queue, dma, pool->region->desc_size, 0); |
892 | } | 897 | } |
898 | EXPORT_SYMBOL_GPL(knav_pool_desc_put); | ||
893 | 899 | ||
894 | /** | 900 | /** |
895 | * knav_pool_desc_map() - Map descriptor for DMA transfer | 901 | * knav_pool_desc_map() - Map descriptor for DMA transfer |
@@ -916,6 +922,7 @@ int knav_pool_desc_map(void *ph, void *desc, unsigned size, | |||
916 | 922 | ||
917 | return 0; | 923 | return 0; |
918 | } | 924 | } |
925 | EXPORT_SYMBOL_GPL(knav_pool_desc_map); | ||
919 | 926 | ||
920 | /** | 927 | /** |
921 | * knav_pool_desc_unmap() - Unmap descriptor after DMA transfer | 928 | * knav_pool_desc_unmap() - Unmap descriptor after DMA transfer |
@@ -938,6 +945,7 @@ void *knav_pool_desc_unmap(void *ph, dma_addr_t dma, unsigned dma_sz) | |||
938 | prefetch(desc); | 945 | prefetch(desc); |
939 | return desc; | 946 | return desc; |
940 | } | 947 | } |
948 | EXPORT_SYMBOL_GPL(knav_pool_desc_unmap); | ||
941 | 949 | ||
942 | /** | 950 | /** |
943 | * knav_pool_count() - Get the number of descriptors in pool. | 951 | * knav_pool_count() - Get the number of descriptors in pool. |
@@ -949,6 +957,7 @@ int knav_pool_count(void *ph) | |||
949 | struct knav_pool *pool = ph; | 957 | struct knav_pool *pool = ph; |
950 | return knav_queue_get_count(pool->queue); | 958 | return knav_queue_get_count(pool->queue); |
951 | } | 959 | } |
960 | EXPORT_SYMBOL_GPL(knav_pool_count); | ||
952 | 961 | ||
953 | static void knav_queue_setup_region(struct knav_device *kdev, | 962 | static void knav_queue_setup_region(struct knav_device *kdev, |
954 | struct knav_region *region) | 963 | struct knav_region *region) |