From 97f39af4b315d7c65504c8e033e3cf8527dd65cb Mon Sep 17 00:00:00 2001 From: Murali Karicheri Date: Thu, 29 Jan 2015 09:04:26 -0800 Subject: soc: ti: knav_qmss_queue: export API calls for use by user driver Currently only few of the API calls are exported. This creates problem when the knav* modules are built as modules and another user module such as netcp_core try to use these API calls and they are also built as module. This patch export these APIs to address the issue. This is needed to support allmodconfig for ARM Signed-off-by: Murali Karicheri Signed-off-by: Santosh Shilimkar --- drivers/soc/ti/knav_qmss_queue.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'drivers/soc') diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index 8e6a95d..6d8646d 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, atomic_inc(&qh->stats.pushes); return 0; } +EXPORT_SYMBOL_GPL(knav_queue_push); /** * 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) atomic_inc(&qh->stats.pops); return dma; } +EXPORT_SYMBOL_GPL(knav_queue_pop); /* carve out descriptors and push into queue */ 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) struct knav_pool *pool = ph; return pool->region->dma_start + (virt - pool->region->virt_start); } +EXPORT_SYMBOL_GPL(knav_pool_desc_virt_to_dma); void *knav_pool_desc_dma_to_virt(void *ph, dma_addr_t dma) { struct knav_pool *pool = ph; return pool->region->virt_start + (dma - pool->region->dma_start); } +EXPORT_SYMBOL_GPL(knav_pool_desc_dma_to_virt); /** * knav_pool_create() - Create a pool of descriptors @@ -878,6 +882,7 @@ void *knav_pool_desc_get(void *ph) data = knav_pool_desc_dma_to_virt(pool, dma); return data; } +EXPORT_SYMBOL_GPL(knav_pool_desc_get); /** * knav_pool_desc_put() - return a descriptor to the pool @@ -890,6 +895,7 @@ void knav_pool_desc_put(void *ph, void *desc) dma = knav_pool_desc_virt_to_dma(pool, desc); knav_queue_push(pool->queue, dma, pool->region->desc_size, 0); } +EXPORT_SYMBOL_GPL(knav_pool_desc_put); /** * knav_pool_desc_map() - Map descriptor for DMA transfer @@ -916,6 +922,7 @@ int knav_pool_desc_map(void *ph, void *desc, unsigned size, return 0; } +EXPORT_SYMBOL_GPL(knav_pool_desc_map); /** * 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) prefetch(desc); return desc; } +EXPORT_SYMBOL_GPL(knav_pool_desc_unmap); /** * knav_pool_count() - Get the number of descriptors in pool. @@ -949,6 +957,7 @@ int knav_pool_count(void *ph) struct knav_pool *pool = ph; return knav_queue_get_count(pool->queue); } +EXPORT_SYMBOL_GPL(knav_pool_count); static void knav_queue_setup_region(struct knav_device *kdev, struct knav_region *region) -- cgit v1.1 From df351f1efeb386481c1f61aa94cbe8a3a7c0c1d0 Mon Sep 17 00:00:00 2001 From: Murali Karicheri Date: Thu, 29 Jan 2015 13:23:51 -0800 Subject: soc: ti: knav_qmss_queue: makefile tweak to build as dynamic module Currently configuring qmss and dma as dynamic module creates three .ko files. knav_qmss_acc.ko and knav_qmss_queue.ko both can't be insmod because of circular dependency. So combine these two into one module by changing the makefile. Signed-off-by: Murali Karicheri Signed-off-by: Santosh Shilimkar --- drivers/soc/ti/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/soc') diff --git a/drivers/soc/ti/Makefile b/drivers/soc/ti/Makefile index 6bed611..135bdad 100644 --- a/drivers/soc/ti/Makefile +++ b/drivers/soc/ti/Makefile @@ -1,5 +1,6 @@ # # TI Keystone SOC drivers # -obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss_queue.o knav_qmss_acc.o +obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss.o +knav_qmss-y := knav_qmss_queue.o knav_qmss_acc.o obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o -- cgit v1.1 From a68094c67bf1fa86630bd011d2d212899c41e1bc Mon Sep 17 00:00:00 2001 From: Murali Karicheri Date: Thu, 29 Jan 2015 13:23:51 -0800 Subject: soc: ti: knav_qmss_queue: change knav_range_setup_acc_irq to static knav_range_setup_acc_irq() is used only within the file and should be defined as static. Signed-off-by: Murali Karicheri Signed-off-by: Santosh Shilimkar --- drivers/soc/ti/knav_qmss_acc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/soc') diff --git a/drivers/soc/ti/knav_qmss_acc.c b/drivers/soc/ti/knav_qmss_acc.c index 6fbfde6e..ef6f69d 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) return IRQ_HANDLED; } -int knav_range_setup_acc_irq(struct knav_range_info *range, +static int knav_range_setup_acc_irq(struct knav_range_info *range, int queue, bool enabled) { struct knav_device *kdev = range->kdev; -- cgit v1.1