diff options
| author | Arun Menon <avmenon@codeaurora.org> | 2016-08-04 11:31:00 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-08-04 11:41:57 -0700 |
| commit | 23b51055632a060e9bd4dd9155c18a76566c736c (patch) | |
| tree | 51c4d4d692280b3972fcf83ce4aa55298eda442c | |
| parent | 1ecb9eaec78fbaa3187574c347165bb70e54fef3 (diff) | |
msm: vidc: Compile vidc driver as LKM
Add support to compile vidc driver as a
Loadable Kernel Module on msmcortex.
CRs-Fixed: 1043199
Change-Id: I6aaa1c2a277b5ccde25bbae6e0f452ea7bf578ab
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
| -rw-r--r-- | drivers/iommu/msm_dma_iommu_mapping.c | 4 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/Makefile | 32 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/governors/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/governors/Makefile | 10 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/msm_v4l2_vidc.c | 2 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/msm_vidc_debug.c | 4 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/msm_vidc_res_parse.c | 1 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/venus_hfi.c | 1 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/vmem/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/vmem/Makefile | 9 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/vmem/vmem.c | 6 | ||||
| -rw-r--r-- | drivers/media/platform/msm/vidc/vmem/vmem.h | 4 |
13 files changed, 53 insertions, 26 deletions
diff --git a/drivers/iommu/msm_dma_iommu_mapping.c b/drivers/iommu/msm_dma_iommu_mapping.c index b91c7785df0b..e26b79959b13 100644 --- a/drivers/iommu/msm_dma_iommu_mapping.c +++ b/drivers/iommu/msm_dma_iommu_mapping.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. +/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -267,6 +267,7 @@ int msm_dma_map_sg_attrs(struct device *dev, struct scatterlist *sg, int nents, return ret; } +EXPORT_SYMBOL(msm_dma_map_sg_attrs); static void msm_iommu_meta_destroy(struct kref *kref) { @@ -343,6 +344,7 @@ void msm_dma_unmap_sg(struct device *dev, struct scatterlist *sgl, int nents, out: return; } +EXPORT_SYMBOL(msm_dma_unmap_sg); /* * Only to be called by ION code when a buffer is freed diff --git a/drivers/media/platform/msm/vidc/Kconfig b/drivers/media/platform/msm/vidc/Kconfig index c9773555165e..ae451ff60c54 100644 --- a/drivers/media/platform/msm/vidc/Kconfig +++ b/drivers/media/platform/msm/vidc/Kconfig @@ -3,7 +3,7 @@ # menuconfig MSM_VIDC_V4L2 - bool "Qualcomm MSM V4L2 based video driver" + tristate "Qualcomm MSM V4L2 based video driver" depends on ARCH_QCOM && VIDEO_V4L2 select VIDEOBUF2_CORE diff --git a/drivers/media/platform/msm/vidc/Makefile b/drivers/media/platform/msm/vidc/Makefile index ff355611c0d0..55c2d2e8d30b 100644 --- a/drivers/media/platform/msm/vidc/Makefile +++ b/drivers/media/platform/msm/vidc/Makefile @@ -1,17 +1,21 @@ -obj-$(CONFIG_MSM_VIDC_V4L2) := msm_v4l2_vidc.o \ - msm_vidc_common.o \ - msm_vidc.o \ - msm_vdec.o \ - msm_venc.o \ - msm_smem.o \ - msm_vidc_debug.o \ - msm_vidc_res_parse.o \ - venus_hfi.o \ - hfi_response_handler.o \ - hfi_packetization.o \ - vidc_hfi.o \ - venus_boot.o \ - msm_vidc_dcvs.o +ccflags-y += -I$(srctree)/drivers/media/platform/msm/vidc/ + +msm-vidc-objs := msm_v4l2_vidc.o \ + msm_vidc_common.o \ + msm_vidc.o \ + msm_vdec.o \ + msm_venc.o \ + msm_smem.o \ + msm_vidc_debug.o \ + msm_vidc_res_parse.o \ + venus_hfi.o \ + hfi_response_handler.o \ + hfi_packetization.o \ + vidc_hfi.o \ + venus_boot.o \ + msm_vidc_dcvs.o + +obj-$(CONFIG_MSM_VIDC_V4L2) := msm-vidc.o obj-$(CONFIG_MSM_VIDC_V4L2) += governors/ diff --git a/drivers/media/platform/msm/vidc/governors/Kconfig b/drivers/media/platform/msm/vidc/governors/Kconfig index 32362217e0b9..d667d65d5338 100644 --- a/drivers/media/platform/msm/vidc/governors/Kconfig +++ b/drivers/media/platform/msm/vidc/governors/Kconfig @@ -1,5 +1,5 @@ menuconfig MSM_VIDC_GOVERNORS - bool "Clock and bandwidth governors for QTI MSM V4L2 based video driver" + tristate "Clock and bandwidth governors for QTI MSM V4L2 based video driver" depends on MSM_VIDC_V4L2 && PM_DEVFREQ help Chooses a set of devfreq governors aimed at providing accurate bandwidth diff --git a/drivers/media/platform/msm/vidc/governors/Makefile b/drivers/media/platform/msm/vidc/governors/Makefile index e5b2f9d7a049..06a4d3452f14 100644 --- a/drivers/media/platform/msm/vidc/governors/Makefile +++ b/drivers/media/platform/msm/vidc/governors/Makefile @@ -1,5 +1,9 @@ ccflags-y := -I$(srctree)/drivers/devfreq/ \ - -I$(srctree)/drivers/media/platform/msm/vidc/ + -I$(srctree)/drivers/media/platform/msm/vidc/ \ + -I$(srctree)/drivers/media/platform/msm/vidc/governors/ -obj-$(CONFIG_MSM_VIDC_GOVERNORS) := msm_vidc_dyn_gov.o \ - msm_vidc_table_gov.o +msm-vidc-dyn-gov-objs := msm_vidc_dyn_gov.o + +msm-vidc-table-gov-objs := msm_vidc_table_gov.o + +obj-$(CONFIG_MSM_VIDC_GOVERNORS) := msm-vidc-dyn-gov.o msm-vidc-table-gov.o diff --git a/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c b/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c index 0d6a0caa86c8..58a7d0d0577a 100644 --- a/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c +++ b/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c @@ -781,3 +781,5 @@ static void __exit msm_vidc_exit(void) module_init(msm_vidc_init); module_exit(msm_vidc_exit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/media/platform/msm/vidc/msm_vidc_debug.c b/drivers/media/platform/msm/vidc/msm_vidc_debug.c index fb79661dd2d7..cd984be714fd 100644 --- a/drivers/media/platform/msm/vidc/msm_vidc_debug.c +++ b/drivers/media/platform/msm/vidc/msm_vidc_debug.c @@ -16,7 +16,11 @@ #include "vidc_hfi_api.h" int msm_vidc_debug = VIDC_ERR | VIDC_WARN; +EXPORT_SYMBOL(msm_vidc_debug); + int msm_vidc_debug_out = VIDC_OUT_PRINTK; +EXPORT_SYMBOL(msm_vidc_debug_out); + int msm_vidc_fw_debug = 0x18; int msm_vidc_fw_debug_mode = 1; int msm_vidc_fw_low_power_mode = 1; diff --git a/drivers/media/platform/msm/vidc/msm_vidc_res_parse.c b/drivers/media/platform/msm/vidc/msm_vidc_res_parse.c index 2bb91ccc6c26..5efa49e38816 100644 --- a/drivers/media/platform/msm/vidc/msm_vidc_res_parse.c +++ b/drivers/media/platform/msm/vidc/msm_vidc_res_parse.c @@ -364,6 +364,7 @@ int msm_vidc_load_u32_table(struct platform_device *pdev, return rc; } +EXPORT_SYMBOL(msm_vidc_load_u32_table); static int msm_vidc_load_platform_version_table( struct msm_vidc_platform_resources *res) diff --git a/drivers/media/platform/msm/vidc/venus_hfi.c b/drivers/media/platform/msm/vidc/venus_hfi.c index 20e217cc0445..951930eb370c 100644 --- a/drivers/media/platform/msm/vidc/venus_hfi.c +++ b/drivers/media/platform/msm/vidc/venus_hfi.c @@ -738,6 +738,7 @@ bool venus_hfi_is_session_supported(unsigned long sessions_supported, { return __is_session_supported(sessions_supported, session_type); } +EXPORT_SYMBOL(venus_hfi_is_session_supported); static int __devfreq_target(struct device *devfreq_dev, unsigned long *freq, u32 flags) diff --git a/drivers/media/platform/msm/vidc/vmem/Kconfig b/drivers/media/platform/msm/vidc/vmem/Kconfig index e602e52da383..6f54120e2d04 100644 --- a/drivers/media/platform/msm/vidc/vmem/Kconfig +++ b/drivers/media/platform/msm/vidc/vmem/Kconfig @@ -1,3 +1,3 @@ menuconfig MSM_VIDC_VMEM - bool "Qualcomm Technologies Inc MSM VMEM driver" + tristate "Qualcomm Technologies Inc MSM VMEM driver" depends on ARCH_QCOM && MSM_VIDC_V4L2 diff --git a/drivers/media/platform/msm/vidc/vmem/Makefile b/drivers/media/platform/msm/vidc/vmem/Makefile index 713b92e64544..a56ad95f8b71 100644 --- a/drivers/media/platform/msm/vidc/vmem/Makefile +++ b/drivers/media/platform/msm/vidc/vmem/Makefile @@ -1,2 +1,7 @@ -obj-$(CONFIG_MSM_VIDC_VMEM) := vmem.o \ - vmem_debugfs.o +ccflags-y += -I$(srctree)/drivers/media/platform/msm/vidc/ +ccflags-y += -I$(srctree)/drivers/media/platform/msm/vidc/vmem/ + +msm-vidc-vmem-objs := vmem.o \ + vmem_debugfs.o + +obj-$(CONFIG_MSM_VIDC_VMEM) := msm-vidc-vmem.o diff --git a/drivers/media/platform/msm/vidc/vmem/vmem.c b/drivers/media/platform/msm/vidc/vmem/vmem.c index 3a2ac31c6450..4bf07575c403 100644 --- a/drivers/media/platform/msm/vidc/vmem/vmem.c +++ b/drivers/media/platform/msm/vidc/vmem/vmem.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -355,6 +355,7 @@ int vmem_allocate(size_t size, phys_addr_t *addr) exit: return rc; } +EXPORT_SYMBOL(vmem_allocate); /** * vmem_free: - Frees the memory allocated via vmem_allocate. Undefined @@ -384,6 +385,7 @@ void vmem_free(phys_addr_t to_free) __power_off(vmem); atomic_dec(&vmem->alloc_count); } +EXPORT_SYMBOL(vmem_free); struct vmem_interrupt_cookie { struct vmem *vmem; @@ -699,3 +701,5 @@ static void __exit vmem_exit(void) module_init(vmem_init); module_exit(vmem_exit); + +MODULE_LICENSE("GPL"); diff --git a/drivers/media/platform/msm/vidc/vmem/vmem.h b/drivers/media/platform/msm/vidc/vmem/vmem.h index 751904e00755..2f3a26db086b 100644 --- a/drivers/media/platform/msm/vidc/vmem/vmem.h +++ b/drivers/media/platform/msm/vidc/vmem/vmem.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, The Linux Foundation. All rights reserved. + * Copyright (c) 2014, 2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -14,7 +14,7 @@ #ifndef __VMEM_H__ #define __VMEM_H__ -#ifdef CONFIG_MSM_VIDC_VMEM +#if (defined CONFIG_MSM_VIDC_VMEM) || (defined CONFIG_MSM_VIDC_VMEM_MODULE) int vmem_allocate(size_t size, phys_addr_t *addr); void vmem_free(phys_addr_t to_free); |
