Ver Fonte

msm: camera: common: Make platform register centralized

Currently camera modules platform registration/remove function
is being called as a part of module_init function individually.
Building camera as module, current infrastructure cannot support
it, as DLKM only support single module_init/exit function.
This change enables that support by combining all platform
entry/remove functions centrally. Also, remove all submodule
makefiles and combined into one root makefile in order to generate
single kernel object file to dynamically loading the kernel module
in case of DLKM compilation.

CRs-Fixed: 2569808
Change-Id: I59db3ed6cef60123e474db2f222c39836056bd6e
Signed-off-by: Jigarkumar Zala <[email protected]>
Signed-off-by: Karthik Jayakumar <[email protected]>
Jigarkumar Zala há 5 anos atrás
pai
commit
03b6c2140f
100 ficheiros alterados com 591 adições e 809 exclusões
  1. 1 1
      Makefile
  2. 171 14
      drivers/Makefile
  3. 0 11
      drivers/cam_cdm/Makefile
  4. 2 4
      drivers/cam_cdm/cam_cdm_hw_core.c
  5. 2 4
      drivers/cam_cdm/cam_cdm_intf.c
  6. 22 1
      drivers/cam_cdm/cam_cdm_intf_api.h
  7. 0 9
      drivers/cam_core/Makefile
  8. 0 11
      drivers/cam_cpas/Makefile
  9. 11 1
      drivers/cam_cpas/cam_cpas_hw_intf.h
  10. 2 4
      drivers/cam_cpas/cam_cpas_intf.c
  11. 0 8
      drivers/cam_cpas/camss_top/Makefile
  12. 0 8
      drivers/cam_cpas/cpas_top/Makefile
  13. 0 19
      drivers/cam_cust/Makefile
  14. 2 4
      drivers/cam_cust/cam_custom_dev.c
  15. 10 0
      drivers/cam_cust/cam_custom_dev.h
  16. 0 20
      drivers/cam_cust/cam_custom_hw_mgr/Makefile
  17. 0 16
      drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/Makefile
  18. 2 4
      drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/cam_custom_csid_dev.c
  19. 14 3
      drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/cam_custom_csid_dev.h
  20. 0 10
      drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/Makefile
  21. 2 4
      drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_dev.c
  22. 10 0
      drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_dev.h
  23. 0 2
      drivers/cam_cust/cam_custom_hw_mgr/include/cam_custom_hw_mgr_intf.h
  24. 0 16
      drivers/cam_fd/Makefile
  25. 3 5
      drivers/cam_fd/cam_fd_dev.c
  26. 20 0
      drivers/cam_fd/cam_fd_dev.h
  27. 0 16
      drivers/cam_fd/fd_hw_mgr/Makefile
  28. 0 16
      drivers/cam_fd/fd_hw_mgr/fd_hw/Makefile
  29. 3 5
      drivers/cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_dev.c
  30. 12 1
      drivers/cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_intf.h
  31. 0 15
      drivers/cam_icp/Makefile
  32. 4 5
      drivers/cam_icp/cam_icp_subdev.c
  33. 20 0
      drivers/cam_icp/cam_icp_subdev.h
  34. 0 11
      drivers/cam_icp/icp_hw/Makefile
  35. 0 14
      drivers/cam_icp/icp_hw/a5_hw/Makefile
  36. 11 0
      drivers/cam_icp/icp_hw/a5_hw/a5_core.h
  37. 3 5
      drivers/cam_icp/icp_hw/a5_hw/a5_dev.c
  38. 0 14
      drivers/cam_icp/icp_hw/bps_hw/Makefile
  39. 11 0
      drivers/cam_icp/icp_hw/bps_hw/bps_core.h
  40. 3 6
      drivers/cam_icp/icp_hw/bps_hw/bps_dev.c
  41. 0 19
      drivers/cam_icp/icp_hw/icp_hw_mgr/Makefile
  42. 0 14
      drivers/cam_icp/icp_hw/ipe_hw/Makefile
  43. 10 0
      drivers/cam_icp/icp_hw/ipe_hw/ipe_core.h
  44. 3 6
      drivers/cam_icp/icp_hw/ipe_hw/ipe_dev.c
  45. 0 12
      drivers/cam_isp/Makefile
  46. 2 4
      drivers/cam_isp/cam_isp_dev.c
  47. 11 1
      drivers/cam_isp/cam_isp_dev.h
  48. 0 17
      drivers/cam_isp/isp_hw_mgr/Makefile
  49. 0 15
      drivers/cam_isp/isp_hw_mgr/hw_utils/Makefile
  50. 0 5
      drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller/Makefile
  51. 0 4
      drivers/cam_isp/isp_hw_mgr/isp_hw/Makefile
  52. 0 14
      drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/Makefile
  53. 2 4
      drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid17x.c
  54. 23 1
      drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_dev.h
  55. 2 4
      drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_lite17x.c
  56. 0 16
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/Makefile
  57. 0 17
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/Makefile
  58. 3 4
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe.c
  59. 20 0
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe.h
  60. 0 16
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/Makefile
  61. 0 18
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/Makefile
  62. 0 13
      drivers/cam_jpeg/Makefile
  63. 2 4
      drivers/cam_jpeg/cam_jpeg_dev.c
  64. 12 1
      drivers/cam_jpeg/cam_jpeg_dev.h
  65. 0 15
      drivers/cam_jpeg/jpeg_hw/Makefile
  66. 0 13
      drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/Makefile
  67. 10 0
      drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_core.h
  68. 3 6
      drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_dev.c
  69. 0 13
      drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/Makefile
  70. 10 0
      drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_core.h
  71. 3 5
      drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_dev.c
  72. 0 15
      drivers/cam_lrme/Makefile
  73. 3 5
      drivers/cam_lrme/cam_lrme_dev.c
  74. 20 0
      drivers/cam_lrme/cam_lrme_dev.h
  75. 0 15
      drivers/cam_lrme/lrme_hw_mgr/Makefile
  76. 0 14
      drivers/cam_lrme/lrme_hw_mgr/lrme_hw/Makefile
  77. 2 4
      drivers/cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_dev.c
  78. 11 1
      drivers/cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_intf.h
  79. 5 13
      drivers/cam_req_mgr/cam_req_mgr_dev.c
  80. 19 1
      drivers/cam_req_mgr/cam_req_mgr_dev.h
  81. 1 10
      drivers/cam_req_mgr/cam_subdev.h
  82. 0 12
      drivers/cam_sensor_module/Makefile
  83. 0 13
      drivers/cam_sensor_module/cam_actuator/Makefile
  84. 3 5
      drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c
  85. 13 3
      drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.h
  86. 0 11
      drivers/cam_sensor_module/cam_cci/Makefile
  87. 2 67
      drivers/cam_sensor_module/cam_cci/cam_cci_dev.c
  88. 10 0
      drivers/cam_sensor_module/cam_cci/cam_cci_dev.h
  89. 0 12
      drivers/cam_sensor_module/cam_csiphy/Makefile
  90. 1 1
      drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c
  91. 3 5
      drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c
  92. 13 3
      drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.h
  93. 0 12
      drivers/cam_sensor_module/cam_eeprom/Makefile
  94. 2 4
      drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.c
  95. 11 0
      drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h
  96. 0 13
      drivers/cam_sensor_module/cam_flash/Makefile
  97. 2 4
      drivers/cam_sensor_module/cam_flash/cam_flash_dev.c
  98. 10 0
      drivers/cam_sensor_module/cam_flash/cam_flash_dev.h
  99. 0 13
      drivers/cam_sensor_module/cam_ois/Makefile
  100. 3 5
      drivers/cam_sensor_module/cam_ois/cam_ois_dev.c

+ 1 - 1
Makefile

@@ -28,7 +28,7 @@ LINUXINCLUDE    += \
 		-include $(srctree)/techpack/camera/config/bengalcameraconf.h
 endif
 
-ifdef CONFIG_SPECTRA_CAMERA
+ifneq (,$(filter $(CONFIG_SPECTRA_CAMERA), y m))
 # Use USERINCLUDE when you must reference the UAPI directories only.
 USERINCLUDE     += \
                 -I$(srctree)/techpack/camera/include/uapi

+ 171 - 14
drivers/Makefile

@@ -1,16 +1,173 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+cameratree := $(srctree)/techpack/camera/drivers
+
+cam_include_dirs := $(shell dirname `find $(cameratree) -name '*.h'` | uniq)
+ccflags-y += $(addprefix -I,$(cam_include_dirs))
+
+ifneq (,$(filter $(CONFIG_MSM_GLOBAL_SYNX), y m))
+ccflags-y += -I$(srctree)/drivers/media/platform/msm/synx
+endif
+
 subdir-ccflags-y += -I$(srctree)/techpack/camera/include/uapi/camera
+ccflags-y += -I$(srctree)
+
+camera-y := \
+	cam_req_mgr/cam_req_mgr_core.o \
+	cam_req_mgr/cam_req_mgr_dev.o \
+	cam_req_mgr/cam_req_mgr_util.o \
+	cam_req_mgr/cam_mem_mgr.o \
+	cam_req_mgr/cam_req_mgr_workq.o \
+	cam_req_mgr/cam_req_mgr_timer.o \
+	cam_req_mgr/cam_req_mgr_debug.o \
+	cam_utils/cam_soc_util.o \
+	cam_utils/cam_io_util.o \
+	cam_utils/cam_packet_util.o \
+	cam_utils/cam_debug_util.o \
+	cam_utils/cam_trace.o \
+	cam_utils/cam_common_util.o \
+	cam_core/cam_context.o \
+	cam_core/cam_context_utils.o \
+	cam_core/cam_node.o \
+	cam_core/cam_subdev.o \
+	cam_smmu/cam_smmu_api.o \
+	cam_sync/cam_sync.o \
+	cam_sync/cam_sync_util.o \
+	cam_cpas/cpas_top/cam_cpastop_hw.o \
+	cam_cpas/camss_top/cam_camsstop_hw.o \
+	cam_cpas/cam_cpas_soc.o \
+	cam_cpas/cam_cpas_intf.o \
+	cam_cpas/cam_cpas_hw.o \
+	cam_cdm/cam_cdm_soc.o \
+	cam_cdm/cam_cdm_util.o \
+	cam_cdm/cam_cdm_intf.o \
+	cam_cdm/cam_cdm_core_common.o \
+	cam_cdm/cam_cdm_virtual_core.o \
+	cam_cdm/cam_cdm_hw_core.o
+
+ifdef CONFIG_QCOM_CX_IPEAK
+camera-y += cam_utils/cam_cx_ipeak.o
+endif
+
+camera-$(CONFIG_SPECTRA_ISP) += \
+	cam_isp/isp_hw_mgr/hw_utils/cam_tasklet_util.o \
+	cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.o \
+	cam_isp/isp_hw_mgr/hw_utils/irq_controller/cam_irq_controller.o \
+	cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_dev.o \
+	cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_soc.o \
+	cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.o \
+	cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid17x.o \
+	cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_lite17x.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/cam_vfe_soc.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/cam_vfe_dev.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/cam_vfe_core.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver2.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_rd_ver1.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_lite_ver2.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_common.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver3.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver2.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_ver2.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_ver3.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_rdi.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_fe_ver1.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_lite_ver3.o \
+	cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe.o \
+	cam_isp/isp_hw_mgr/cam_isp_hw_mgr.o \
+	cam_isp/isp_hw_mgr/cam_ife_hw_mgr.o \
+	cam_isp/cam_isp_dev.o \
+	cam_isp/cam_isp_context.o
+
+camera-$(CONFIG_SPECTRA_ICP) += \
+	cam_icp/icp_hw/icp_hw_mgr/cam_icp_hw_mgr.o \
+	cam_icp/icp_hw/ipe_hw/ipe_dev.o \
+	cam_icp/icp_hw/ipe_hw/ipe_core.o \
+	cam_icp/icp_hw/ipe_hw/ipe_soc.o \
+	cam_icp/icp_hw/a5_hw/a5_dev.o \
+	cam_icp/icp_hw/a5_hw/a5_core.o \
+	cam_icp/icp_hw/a5_hw/a5_soc.o \
+	cam_icp/icp_hw/bps_hw/bps_dev.o \
+	cam_icp/icp_hw/bps_hw/bps_core.o \
+	cam_icp/icp_hw/bps_hw/bps_soc.o \
+	cam_icp/cam_icp_subdev.o \
+	cam_icp/cam_icp_context.o \
+	cam_icp/hfi.o
+
+camera-$(CONFIG_SPECTRA_JPEG) += \
+	cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_dev.o \
+	cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_core.o \
+	cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_soc.o \
+	cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_dev.o \
+	cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_core.o \
+	cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_soc.o \
+	cam_jpeg/jpeg_hw/cam_jpeg_hw_mgr.o \
+	cam_jpeg/cam_jpeg_dev.o \
+	cam_jpeg/cam_jpeg_context.o
+
+camera-$(CONFIG_SPECTRA_FD) += \
+	cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_dev.o \
+	cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_core.o \
+	cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_soc.o \
+	cam_fd/fd_hw_mgr/cam_fd_hw_mgr.o \
+	cam_fd/cam_fd_dev.o \
+	cam_fd/cam_fd_context.o
+
+camera-$(CONFIG_SPECTRA_LRME) += \
+	cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_dev.o \
+	cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_core.o \
+	cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_soc.o \
+	cam_lrme/lrme_hw_mgr/cam_lrme_hw_mgr.o \
+	cam_lrme/cam_lrme_dev.o \
+	cam_lrme/cam_lrme_context.o
+
+camera-$(CONFIG_SPECTRA_SENSOR) += \
+	cam_sensor_module/cam_actuator/cam_actuator_dev.o \
+	cam_sensor_module/cam_actuator/cam_actuator_core.o \
+	cam_sensor_module/cam_actuator/cam_actuator_soc.o \
+	cam_sensor_module/cam_cci/cam_cci_dev.o \
+	cam_sensor_module/cam_cci/cam_cci_core.o \
+	cam_sensor_module/cam_cci/cam_cci_soc.o \
+	cam_sensor_module/cam_csiphy/cam_csiphy_soc.o \
+	cam_sensor_module/cam_csiphy/cam_csiphy_dev.o \
+	cam_sensor_module/cam_csiphy/cam_csiphy_core.o \
+	cam_sensor_module/cam_eeprom/cam_eeprom_dev.o \
+	cam_sensor_module/cam_eeprom/cam_eeprom_core.o  \
+	cam_sensor_module/cam_eeprom/cam_eeprom_soc.o \
+	cam_sensor_module/cam_ois/cam_ois_dev.o \
+	cam_sensor_module/cam_ois/cam_ois_core.o \
+	cam_sensor_module/cam_ois/cam_ois_soc.o \
+	cam_sensor_module/cam_sensor/cam_sensor_dev.o \
+	cam_sensor_module/cam_sensor/cam_sensor_core.o \
+	cam_sensor_module/cam_sensor/cam_sensor_soc.o \
+	cam_sensor_module/cam_sensor_io/cam_sensor_io.o \
+	cam_sensor_module/cam_sensor_io/cam_sensor_cci_i2c.o \
+	cam_sensor_module/cam_sensor_io/cam_sensor_qup_i2c.o \
+	cam_sensor_module/cam_sensor_io/cam_sensor_spi.o \
+	cam_sensor_module/cam_sensor_utils/cam_sensor_util.o \
+	cam_sensor_module/cam_res_mgr/cam_res_mgr.o
+
+camera-$(CONFIG_LEDS_QPNP_FLASH_V2) += \
+	cam_sensor_module/cam_flash/cam_flash_dev.o \
+	cam_sensor_module/cam_flash/cam_flash_core.o \
+	cam_sensor_module/cam_flash/cam_flash_soc.o
+
+camera-$(CONFIG_SPECTRA_CUSTOM) += \
+	cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_soc.o \
+	cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_dev.o \
+	cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_core.o \
+	cam_cust/cam_custom_hw_mgr/cam_custom_csid/cam_custom_csid_dev.o \
+	cam_cust/cam_custom_hw_mgr/cam_custom_hw_mgr.o \
+	cam_cust/cam_custom_dev.o \
+	cam_cust/cam_custom_context.o
+
+camera-y += camera_main.o
+
+obj-$(CONFIG_SPECTRA_CAMERA) += camera.o
 
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_req_mgr/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_utils/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_core/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_sync/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_smmu/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cpas/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cdm/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_isp/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_module/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_icp/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_jpeg/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_fd/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_lrme/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cust/
+ifeq ($(CONFIG_SPECTRA_CAMERA),m)
+$(info "SPECTRA CAMERA IS BUILT AS DLKM")
+BOARD_VENDOR_KERNEL_MODULES +=  $(KERNEL_MODULES_OUT)/camera.ko
+endif

+ 0 - 11
drivers/cam_cdm/Makefile

@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cdm_soc.o cam_cdm_util.o cam_cdm_intf.o\
-				cam_cdm_core_common.o cam_cdm_virtual_core.o \
-				cam_cdm_hw_core.o

+ 2 - 4
drivers/cam_cdm/cam_cdm_hw_core.c

@@ -1130,17 +1130,15 @@ static struct platform_driver cam_hw_cdm_driver = {
 	},
 };
 
-static int __init cam_hw_cdm_init_module(void)
+int cam_hw_cdm_init_module(void)
 {
 	return platform_driver_register(&cam_hw_cdm_driver);
 }
 
-static void __exit cam_hw_cdm_exit_module(void)
+void cam_hw_cdm_exit_module(void)
 {
 	platform_driver_unregister(&cam_hw_cdm_driver);
 }
 
-module_init(cam_hw_cdm_init_module);
-module_exit(cam_hw_cdm_exit_module);
 MODULE_DESCRIPTION("MSM Camera HW CDM driver");
 MODULE_LICENSE("GPL v2");

+ 2 - 4
drivers/cam_cdm/cam_cdm_intf.c

@@ -557,17 +557,15 @@ static struct platform_driver cam_cdm_intf_driver = {
 	},
 };
 
-static int __init cam_cdm_intf_init_module(void)
+int cam_cdm_intf_init_module(void)
 {
 	return platform_driver_register(&cam_cdm_intf_driver);
 }
 
-static void __exit cam_cdm_intf_exit_module(void)
+void cam_cdm_intf_exit_module(void)
 {
 	platform_driver_unregister(&cam_cdm_intf_driver);
 }
 
-module_init(cam_cdm_intf_init_module);
-module_exit(cam_cdm_intf_exit_module);
 MODULE_DESCRIPTION("MSM Camera CDM Intf driver");
 MODULE_LICENSE("GPL v2");

+ 22 - 1
drivers/cam_cdm/cam_cdm_intf_api.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_CDM_API_H_
@@ -199,4 +199,25 @@ int cam_cdm_stream_off(uint32_t handle);
  */
 int cam_cdm_reset_hw(uint32_t handle);
 
+/**
+ * @brief : API to register CDM hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_hw_cdm_init_module(void);
+
+/**
+ * @brief : API to register CDM interface to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_cdm_intf_init_module(void);
+
+/**
+ * @brief : API to remove CDM interface from platform framework.
+ */
+void cam_cdm_intf_exit_module(void);
+
+/**
+ * @brief : API to remove CDM hw from platform framework.
+ */
+void cam_hw_cdm_exit_module(void);
 #endif /* _CAM_CDM_API_H_ */

+ 0 - 9
drivers/cam_core/Makefile

@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(src)
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_context.o cam_context_utils.o cam_node.o cam_subdev.o

+ 0 - 11
drivers/cam_cpas/Makefile

@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cpas_top/
-obj-$(CONFIG_SPECTRA_CAMERA) += camss_top/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cpas_soc.o cam_cpas_intf.o cam_cpas_hw.o

+ 11 - 1
drivers/cam_cpas/cam_cpas_hw_intf.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_CPAS_HW_INTF_H_
@@ -125,4 +125,14 @@ int cam_cpas_hw_probe(struct platform_device *pdev,
 	struct cam_hw_intf **hw_intf);
 int cam_cpas_hw_remove(struct cam_hw_intf *cpas_hw_intf);
 
+/**
+ * @brief : API to register CPAS hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_cpas_dev_init_module(void);
+
+/**
+ * @brief : API to remove CPAS interface from platform framework.
+ */
+void cam_cpas_dev_exit_module(void);
 #endif /* _CAM_CPAS_HW_INTF_H_ */

+ 2 - 4
drivers/cam_cpas/cam_cpas_intf.c

@@ -736,17 +736,15 @@ static struct platform_driver cam_cpas_driver = {
 	},
 };
 
-static int __init cam_cpas_dev_init_module(void)
+int cam_cpas_dev_init_module(void)
 {
 	return platform_driver_register(&cam_cpas_driver);
 }
 
-static void __exit cam_cpas_dev_exit_module(void)
+void cam_cpas_dev_exit_module(void)
 {
 	platform_driver_unregister(&cam_cpas_driver);
 }
 
-module_init(cam_cpas_dev_init_module);
-module_exit(cam_cpas_dev_exit_module);
 MODULE_DESCRIPTION("MSM CPAS driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 8
drivers/cam_cpas/camss_top/Makefile

@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_camsstop_hw.o

+ 0 - 8
drivers/cam_cpas/cpas_top/Makefile

@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cpastop_hw.o

+ 0 - 19
drivers/cam_cust/Makefile

@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_hw_mgr/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_dev.o cam_custom_context.o

+ 2 - 4
drivers/cam_cust/cam_custom_dev.c

@@ -183,17 +183,15 @@ static struct platform_driver custom_driver = {
 	},
 };
 
-static int __init cam_custom_dev_init_module(void)
+int cam_custom_dev_init_module(void)
 {
 	return platform_driver_register(&custom_driver);
 }
 
-static void __exit cam_custom_dev_exit_module(void)
+void cam_custom_dev_exit_module(void)
 {
 	platform_driver_unregister(&custom_driver);
 }
 
-module_init(cam_custom_dev_init_module);
-module_exit(cam_custom_dev_exit_module);
 MODULE_DESCRIPTION("MSM CUSTOM driver");
 MODULE_LICENSE("GPL v2");

+ 10 - 0
drivers/cam_cust/cam_custom_dev.h

@@ -31,4 +31,14 @@ struct cam_custom_dev {
 	int32_t                    open_cnt;
 };
 
+/**
+ * @brief : API to register Custom hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_custom_dev_init_module(void);
+
+/**
+ * @brief : API to remove Custom hw interface from platform framework.
+ */
+void cam_custom_dev_exit_module(void);
 #endif /* _CAM_CUSTOM_DEV_H_ */

+ 0 - 20
drivers/cam_cust/cam_custom_hw_mgr/Makefile

@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_hw1/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_hw1/ cam_custom_csid/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_hw_mgr.o
-

+ 0 - 16
drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/Makefile

@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_csid_dev.o

+ 2 - 4
drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/cam_custom_csid_dev.c

@@ -152,7 +152,7 @@ static struct platform_driver cam_custom_csid_driver = {
 	.remove = cam_custom_csid_remove,
 };
 
-static int __init cam_custom_csid_driver_init(void)
+int cam_custom_csid_driver_init(void)
 {
 	int32_t rc = 0;
 
@@ -179,12 +179,10 @@ int cam_custom_csid_hw_init(struct cam_hw_intf **custom_csid_hw,
 	return rc;
 }
 
-static void __exit cam_custom_csid_driver_exit(void)
+void cam_custom_csid_driver_exit(void)
 {
 	platform_driver_unregister(&cam_custom_csid_driver);
 }
 
-module_init(cam_custom_csid_driver_init);
-module_exit(cam_custom_csid_driver_exit);
 MODULE_DESCRIPTION("cam_custom_csid_driver");
 MODULE_LICENSE("GPL v2");

+ 14 - 3
drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/cam_custom_csid_dev.h

@@ -3,10 +3,21 @@
  * Copyright (c) 2019, The Linux Foundation. All rights reserved.
  */
 
-#ifndef _CAM_IFE_CSID_DEV_H_
-#define _CAM_IFE_CSID_DEV_H_
+#ifndef _CAM_CUSTOM_CSID_DEV_H_
+#define _CAM_CUSTOM_CSID_DEV_H_
 
 #include "cam_debug_util.h"
 #include "cam_custom_hw_mgr_intf.h"
 
-#endif /*_CAM_IFE_CSID_DEV_H_ */
+/**
+ * @brief : API to register Custom CSID hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_custom_csid_driver_init(void);
+
+/**
+ * @brief : API to remove Custom CSID hw interface from platform framework.
+ */
+void cam_custom_csid_driver_exit(void);
+
+#endif /*_CAM_CUSTOM_CSID_DEV_H_ */

+ 0 - 10
drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/Makefile

@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_custom_sub_mod_soc.o cam_custom_sub_mod_dev.o cam_custom_sub_mod_core.o

+ 2 - 4
drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_dev.c

@@ -146,17 +146,15 @@ static struct platform_driver cam_custom_hw_sub_mod_driver = {
 	},
 };
 
-static int __init cam_custom_hw_sub_module_init(void)
+int cam_custom_hw_sub_module_init(void)
 {
 	return platform_driver_register(&cam_custom_hw_sub_mod_driver);
 }
 
-static void __exit cam_custom_hw_sub_module_exit(void)
+void cam_custom_hw_sub_module_exit(void)
 {
 	platform_driver_unregister(&cam_custom_hw_sub_mod_driver);
 }
 
-module_init(cam_custom_hw_sub_module_init);
-module_exit(cam_custom_hw_sub_module_exit);
 MODULE_DESCRIPTION("CAM CUSTOM HW SUB MODULE driver");
 MODULE_LICENSE("GPL v2");

+ 10 - 0
drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_dev.h

@@ -12,4 +12,14 @@
 
 #define CAM_CUSTOM_SUB_MOD_MAX_INSTANCES                   2
 
+/**
+ * @brief : API to register Custom submodule to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_custom_hw_sub_module_init(void);
+
+/**
+ * @brief : API to remove Custom submodule interface from platform framework.
+ */
+void cam_custom_hw_sub_module_exit(void);
 #endif /* _CAM_CUSTOM_SUB_MOD_DEV_H_ */

+ 0 - 2
drivers/cam_cust/cam_custom_hw_mgr/include/cam_custom_hw_mgr_intf.h

@@ -9,9 +9,7 @@
 #include <linux/of.h>
 #include <linux/time.h>
 #include <linux/list.h>
-
 #include <media/cam_custom.h>
-
 #include "cam_hw.h"
 #include "cam_hw_mgr_intf.h"
 #include "cam_hw_intf.h"

+ 0 - 16
drivers/cam_fd/Makefile

@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd/fd_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd/fd_hw_mgr/fd_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += fd_hw_mgr/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_fd_dev.o cam_fd_context.o

+ 3 - 5
drivers/cam_fd/cam_fd_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/device.h>
@@ -191,17 +191,15 @@ static struct platform_driver cam_fd_driver = {
 	},
 };
 
-static int __init cam_fd_dev_init_module(void)
+int cam_fd_dev_init_module(void)
 {
 	return platform_driver_register(&cam_fd_driver);
 }
 
-static void __exit cam_fd_dev_exit_module(void)
+void cam_fd_dev_exit_module(void)
 {
 	platform_driver_unregister(&cam_fd_driver);
 }
 
-module_init(cam_fd_dev_init_module);
-module_exit(cam_fd_dev_exit_module);
 MODULE_DESCRIPTION("MSM FD driver");
 MODULE_LICENSE("GPL v2");

+ 20 - 0
drivers/cam_fd/cam_fd_dev.h

@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _CAM_FD_DEV_H_
+#define _CAM_FD_DEV_H_
+
+/**
+ * @brief : API to register FD Dev to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_fd_dev_init_module(void);
+
+/**
+ * @brief : API to remove FD Dev interface from platform framework.
+ */
+void cam_fd_dev_exit_module(void);
+
+#endif /* _CAM_FD_DEV_H_ */

+ 0 - 16
drivers/cam_fd/fd_hw_mgr/Makefile

@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd/fd_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd/fd_hw_mgr/fd_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += fd_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_fd_hw_mgr.o

+ 0 - 16
drivers/cam_fd/fd_hw_mgr/fd_hw/Makefile

@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/include/uapi
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd/fd_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_fd/fd_hw_mgr/fd_hw
-ccflags-y += -I$(srctree)/techpack/camera
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_fd_hw_dev.o cam_fd_hw_core.o cam_fd_hw_soc.o

+ 3 - 5
drivers/cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/platform_device.h>
@@ -219,17 +219,15 @@ static struct platform_driver cam_fd_hw_driver = {
 	},
 };
 
-static int __init cam_fd_hw_init_module(void)
+int cam_fd_hw_init_module(void)
 {
 	return platform_driver_register(&cam_fd_hw_driver);
 }
 
-static void __exit cam_fd_hw_exit_module(void)
+void cam_fd_hw_exit_module(void)
 {
 	platform_driver_unregister(&cam_fd_hw_driver);
 }
 
-module_init(cam_fd_hw_init_module);
-module_exit(cam_fd_hw_exit_module);
 MODULE_DESCRIPTION("CAM FD HW driver");
 MODULE_LICENSE("GPL v2");

+ 12 - 1
drivers/cam_fd/fd_hw_mgr/fd_hw/cam_fd_hw_intf.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_FD_HW_INTF_H_
@@ -279,4 +279,15 @@ struct cam_fd_hw_cmd_set_irq_cb {
 	void *data;
 };
 
+/**
+ * @brief : API to register FD Hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_fd_hw_init_module(void);
+
+/**
+ * @brief : API to remove FD Hw interface from platform framework.
+ */
+void cam_fd_hw_exit_module(void);
+
 #endif /* _CAM_FD_HW_INTF_H_ */

+ 0 - 15
drivers/cam_icp/Makefile

@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/fw_inc
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += icp_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_icp_subdev.o cam_icp_context.o hfi.o

+ 4 - 5
drivers/cam_icp/cam_icp_subdev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/delay.h>
@@ -260,16 +260,15 @@ static struct platform_driver cam_icp_driver = {
 	},
 };
 
-static int __init cam_icp_init_module(void)
+int cam_icp_init_module(void)
 {
 	return platform_driver_register(&cam_icp_driver);
 }
 
-static void __exit cam_icp_exit_module(void)
+void cam_icp_exit_module(void)
 {
 	platform_driver_unregister(&cam_icp_driver);
 }
-module_init(cam_icp_init_module);
-module_exit(cam_icp_exit_module);
+
 MODULE_DESCRIPTION("MSM ICP driver");
 MODULE_LICENSE("GPL v2");

+ 20 - 0
drivers/cam_icp/cam_icp_subdev.h

@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _CAM_ICP_SUBDEV_H_
+#define _CAM_ICP_SUBDEV_H_
+
+/**
+ * @brief : API to register ICP subdev to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_icp_init_module(void);
+
+/**
+ * @brief : API to remove ICP subdev from platform framework.
+ */
+void cam_icp_exit_module(void);
+
+#endif /* _CAM_ICP_SUBDEV_H_ */

+ 0 - 11
drivers/cam_icp/icp_hw/Makefile

@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += icp_hw_mgr/ a5_hw/ ipe_hw/ bps_hw/

+ 0 - 14
drivers/cam_icp/icp_hw/a5_hw/Makefile

@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/include/uapi
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/a5_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/fw_inc
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += a5_dev.o a5_core.o a5_soc.o

+ 11 - 0
drivers/cam_icp/icp_hw/a5_hw/a5_core.h

@@ -80,4 +80,15 @@ int cam_a5_process_cmd(void *device_priv, uint32_t cmd_type,
 	void *cmd_args, uint32_t arg_size);
 
 irqreturn_t cam_a5_irq(int irq_num, void *data);
+
+/**
+ * @brief : API to register a5 hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_a5_init_module(void);
+
+/**
+ * @brief : API to remove a5 hw from platform framework.
+ */
+void cam_a5_exit_module(void);
 #endif /* CAM_A5_CORE_H */

+ 3 - 5
drivers/cam_icp/icp_hw/a5_hw/a5_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -212,17 +212,15 @@ static struct platform_driver cam_a5_driver = {
 	},
 };
 
-static int __init cam_a5_init_module(void)
+int cam_a5_init_module(void)
 {
 	return platform_driver_register(&cam_a5_driver);
 }
 
-static void __exit cam_a5_exit_module(void)
+void cam_a5_exit_module(void)
 {
 	platform_driver_unregister(&cam_a5_driver);
 }
 
-module_init(cam_a5_init_module);
-module_exit(cam_a5_exit_module);
 MODULE_DESCRIPTION("CAM A5 driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 14
drivers/cam_icp/icp_hw/bps_hw/Makefile

@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/include/uapi
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/bps_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/fw_inc
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += bps_dev.o bps_core.o bps_soc.o

+ 11 - 0
drivers/cam_icp/icp_hw/bps_hw/bps_core.h

@@ -36,4 +36,15 @@ int cam_bps_process_cmd(void *device_priv, uint32_t cmd_type,
 	void *cmd_args, uint32_t arg_size);
 
 irqreturn_t cam_bps_irq(int irq_num, void *data);
+
+/**
+ * @brief : API to register BPS hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_bps_init_module(void);
+
+/**
+ * @brief : API to remove BPS Hw from platform framework.
+ */
+void cam_bps_exit_module(void);
 #endif /* CAM_BPS_CORE_H */

+ 3 - 6
drivers/cam_icp/icp_hw/bps_hw/bps_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -24,7 +24,6 @@ static struct cam_bps_device_hw_info cam_bps_hw_info = {
 	.pwr_status = 0x58,
 	.reserved = 0,
 };
-EXPORT_SYMBOL(cam_bps_hw_info);
 
 static char bps_dev_name[8];
 
@@ -191,17 +190,15 @@ static struct platform_driver cam_bps_driver = {
 	},
 };
 
-static int __init cam_bps_init_module(void)
+int cam_bps_init_module(void)
 {
 	return platform_driver_register(&cam_bps_driver);
 }
 
-static void __exit cam_bps_exit_module(void)
+void cam_bps_exit_module(void)
 {
 	platform_driver_unregister(&cam_bps_driver);
 }
 
-module_init(cam_bps_init_module);
-module_exit(cam_bps_exit_module);
 MODULE_DESCRIPTION("CAM BPS driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 19
drivers/cam_icp/icp_hw/icp_hw_mgr/Makefile

@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/include/uapi
-ccflags-y += -I$(srctree)/techpack/camera/drivers/isp/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/isp/isp_hw/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/isp/isp_hw/isp_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/fw_inc/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr/include/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/a5_hw/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_icp_hw_mgr.o

+ 0 - 14
drivers/cam_icp/icp_hw/ipe_hw/Makefile

@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/include/uapi
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/icp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/icp_hw/ipe_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_icp/fw_inc
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += ipe_dev.o ipe_core.o ipe_soc.o

+ 10 - 0
drivers/cam_icp/icp_hw/ipe_hw/ipe_core.h

@@ -36,4 +36,14 @@ int cam_ipe_process_cmd(void *device_priv, uint32_t cmd_type,
 	void *cmd_args, uint32_t arg_size);
 irqreturn_t cam_ipe_irq(int irq_num, void *data);
 
+/**
+ * @brief : API to register IPE hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_ipe_init_module(void);
+
+/**
+ * @brief : API to remove IPE Hw from platform framework.
+ */
+void cam_ipe_exit_module(void);
 #endif /* CAM_IPE_CORE_H */

+ 3 - 6
drivers/cam_icp/icp_hw/ipe_hw/ipe_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -32,7 +32,6 @@ static struct cam_ipe_device_hw_info cam_ipe_hw_info[] = {
 		.reserved = 0,
 	},
 };
-EXPORT_SYMBOL(cam_ipe_hw_info);
 
 static char ipe_dev_name[8];
 
@@ -183,17 +182,15 @@ static struct platform_driver cam_ipe_driver = {
 	},
 };
 
-static int __init cam_ipe_init_module(void)
+int cam_ipe_init_module(void)
 {
 	return platform_driver_register(&cam_ipe_driver);
 }
 
-static void __exit cam_ipe_exit_module(void)
+void cam_ipe_exit_module(void)
 {
 	platform_driver_unregister(&cam_ipe_driver);
 }
 
-module_init(cam_ipe_init_module);
-module_exit(cam_ipe_exit_module);
 MODULE_DESCRIPTION("CAM IPE driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 12
drivers/cam_isp/Makefile

@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += isp_hw_mgr/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_isp_dev.o cam_isp_context.o

+ 2 - 4
drivers/cam_isp/cam_isp_dev.c

@@ -181,17 +181,15 @@ static struct platform_driver isp_driver = {
 	},
 };
 
-static int __init cam_isp_dev_init_module(void)
+int cam_isp_dev_init_module(void)
 {
 	return platform_driver_register(&isp_driver);
 }
 
-static void __exit cam_isp_dev_exit_module(void)
+void cam_isp_dev_exit_module(void)
 {
 	platform_driver_unregister(&isp_driver);
 }
 
-module_init(cam_isp_dev_init_module);
-module_exit(cam_isp_dev_exit_module);
 MODULE_DESCRIPTION("MSM ISP driver");
 MODULE_LICENSE("GPL v2");

+ 11 - 1
drivers/cam_isp/cam_isp_dev.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_ISP_DEV_H_
@@ -28,4 +28,14 @@ struct cam_isp_dev {
 	int32_t                    open_cnt;
 };
 
+/**
+ * @brief : API to register ISP Dev to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_isp_dev_init_module(void);
+
+/**
+ * @brief : API to remove ISP Dev from platform framework.
+ */
+void cam_isp_dev_exit_module(void);
 #endif /* __CAM_ISP_DEV_H__ */

+ 0 - 17
drivers/cam_isp/isp_hw_mgr/Makefile

@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(src)
-
-obj-$(CONFIG_SPECTRA_CAMERA) += hw_utils/ isp_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_isp_hw_mgr.o cam_ife_hw_mgr.o

+ 0 - 15
drivers/cam_isp/isp_hw_mgr/hw_utils/Makefile

@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_tasklet_util.o cam_isp_packet_parser.o
-obj-$(CONFIG_SPECTRA_CAMERA) += irq_controller/

+ 0 - 5
drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller/Makefile

@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_irq_controller.o

+ 0 - 4
drivers/cam_isp/isp_hw_mgr/isp_hw/Makefile

@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-$(CONFIG_SPECTRA_CAMERA) += ife_csid_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += vfe_hw/

+ 0 - 14
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/Makefile

@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_ife_csid_dev.o cam_ife_csid_soc.o cam_ife_csid_core.o
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_ife_csid17x.o cam_ife_csid_lite17x.o

+ 2 - 4
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid17x.c

@@ -70,17 +70,15 @@ static struct platform_driver cam_ife_csid17x_driver = {
 	},
 };
 
-static int __init cam_ife_csid17x_init_module(void)
+int cam_ife_csid17x_init_module(void)
 {
 	return platform_driver_register(&cam_ife_csid17x_driver);
 }
 
-static void __exit cam_ife_csid17x_exit_module(void)
+void cam_ife_csid17x_exit_module(void)
 {
 	platform_driver_unregister(&cam_ife_csid17x_driver);
 }
 
-module_init(cam_ife_csid17x_init_module);
-module_exit(cam_ife_csid17x_exit_module);
 MODULE_DESCRIPTION("CAM IFE_CSID17X driver");
 MODULE_LICENSE("GPL v2");

+ 23 - 1
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_dev.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_IFE_CSID_DEV_H_
@@ -13,4 +13,26 @@ irqreturn_t cam_ife_csid_irq(int irq_num, void *data);
 int cam_ife_csid_probe(struct platform_device *pdev);
 int cam_ife_csid_remove(struct platform_device *pdev);
 
+/**
+ * @brief : API to register CSID hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_ife_csid17x_init_module(void);
+
+/**
+ * @brief : API to register CSID Lite hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_ife_csid_lite_init_module(void);
+
+/**
+ * @brief : API to remove CSID Hw from platform framework.
+ */
+void cam_ife_csid17x_exit_module(void);
+
+/**
+ * @brief : API to remove CSID Lite Hw from platform framework.
+ */
+void cam_ife_csid_lite_exit_module(void);
+
 #endif /*_CAM_IFE_CSID_DEV_H_ */

+ 2 - 4
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_lite17x.c

@@ -47,17 +47,15 @@ static struct platform_driver cam_ife_csid_lite_driver = {
 	},
 };
 
-static int __init cam_ife_csid_lite_init_module(void)
+int cam_ife_csid_lite_init_module(void)
 {
 	return platform_driver_register(&cam_ife_csid_lite_driver);
 }
 
-static void __exit cam_ife_csid_lite_exit_module(void)
+void cam_ife_csid_lite_exit_module(void)
 {
 	platform_driver_unregister(&cam_ife_csid_lite_driver);
 }
 
-module_init(cam_ife_csid_lite_init_module);
-module_exit(cam_ife_csid_lite_exit_module);
 MODULE_DESCRIPTION("CAM IFE_CSID_LITE driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 16
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/Makefile

@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_vfe_soc.o cam_vfe_dev.o cam_vfe_core.o
-obj-$(CONFIG_SPECTRA_CAMERA) += vfe_bus/ vfe_top/ vfe17x/

+ 0 - 17
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/Makefile

@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_vfe.o

+ 3 - 4
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe.c

@@ -58,17 +58,16 @@ static struct platform_driver cam_vfe_driver = {
 	},
 };
 
-static int __init cam_vfe_init_module(void)
+int cam_vfe_init_module(void)
 {
 	return platform_driver_register(&cam_vfe_driver);
 }
 
-static void __exit cam_vfe_exit_module(void)
+
+void cam_vfe_exit_module(void)
 {
 	platform_driver_unregister(&cam_vfe_driver);
 }
 
-module_init(cam_vfe_init_module);
-module_exit(cam_vfe_exit_module);
 MODULE_DESCRIPTION("CAM VFE driver");
 MODULE_LICENSE("GPL v2");

+ 20 - 0
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe.h

@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _CAM_VFE_H_
+#define _CAM_VFE_H_
+
+/**
+ * @brief : API to register VFE hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_vfe_init_module(void);
+
+/**
+ * @brief : API to remove VFE  Hw from platform framework.
+ */
+void cam_vfe_exit_module(void);
+
+#endif /* _CAM_VFE_H_ */

+ 0 - 16
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/Makefile

@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_vfe_bus.o cam_vfe_bus_ver2.o cam_vfe_bus_rd_ver1.o cam_vfe_bus_ver3.o

+ 0 - 18
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/Makefile

@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/hw_utils/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_vfe_camif_lite_ver2.o cam_vfe_top.o cam_vfe_top_common.o
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_vfe_top_ver3.o cam_vfe_top_ver2.o cam_vfe_camif_ver2.o
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_vfe_camif_ver3.o cam_vfe_rdi.o cam_vfe_fe_ver1.o cam_vfe_camif_lite_ver3.o

+ 0 - 13
drivers/cam_jpeg/Makefile

@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += jpeg_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_jpeg_dev.o cam_jpeg_context.o

+ 2 - 4
drivers/cam_jpeg/cam_jpeg_dev.c

@@ -185,17 +185,15 @@ static struct platform_driver jpeg_driver = {
 	},
 };
 
-static int __init cam_jpeg_dev_init_module(void)
+int cam_jpeg_dev_init_module(void)
 {
 	return platform_driver_register(&jpeg_driver);
 }
 
-static void __exit cam_jpeg_dev_exit_module(void)
+void cam_jpeg_dev_exit_module(void)
 {
 	platform_driver_unregister(&jpeg_driver);
 }
 
-module_init(cam_jpeg_dev_init_module);
-module_exit(cam_jpeg_dev_exit_module);
 MODULE_DESCRIPTION("MSM JPEG driver");
 MODULE_LICENSE("GPL v2");

+ 12 - 1
drivers/cam_jpeg/cam_jpeg_dev.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_JPEG_DEV_H_
@@ -29,4 +29,15 @@ struct cam_jpeg_dev {
 	struct mutex jpeg_mutex;
 	int32_t open_cnt;
 };
+
+/**
+ * @brief : API to register JPEG dev to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_jpeg_dev_init_module(void);
+
+/**
+ * @brief : API to remove JPEG dev from platform framework.
+ */
+void cam_jpeg_dev_exit_module(void);
 #endif /* __CAM_JPEG_DEV_H__ */

+ 0 - 15
drivers/cam_jpeg/jpeg_hw/Makefile

@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/include/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += jpeg_enc_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += jpeg_dma_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_jpeg_hw_mgr.o

+ 0 - 13
drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/Makefile

@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/jpeg_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw
-
-obj-$(CONFIG_SPECTRA_CAMERA) += jpeg_dma_dev.o jpeg_dma_core.o jpeg_dma_soc.o

+ 10 - 0
drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_core.h

@@ -41,4 +41,14 @@ int cam_jpeg_dma_process_cmd(void *device_priv, uint32_t cmd_type,
 	void *cmd_args, uint32_t arg_size);
 irqreturn_t cam_jpeg_dma_irq(int irq_num, void *data);
 
+/**
+ * @brief : API to register JPEG DMA hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_jpeg_dma_init_module(void);
+
+/**
+ * @brief : API to remove JPEG DMA Hw from platform framework.
+ */
+void cam_jpeg_dma_exit_module(void);
 #endif /* CAM_JPEG_DMA_CORE_H */

+ 3 - 6
drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -22,7 +22,6 @@
 static struct cam_jpeg_dma_device_hw_info cam_jpeg_dma_hw_info = {
 	.reserved = 0,
 };
-EXPORT_SYMBOL(cam_jpeg_dma_hw_info);
 
 static int cam_jpeg_dma_register_cpas(struct cam_hw_soc_info *soc_info,
 	struct cam_jpeg_dma_device_core_info *core_info,
@@ -217,17 +216,15 @@ static struct platform_driver cam_jpeg_dma_driver = {
 	},
 };
 
-static int __init cam_jpeg_dma_init_module(void)
+int cam_jpeg_dma_init_module(void)
 {
 	return platform_driver_register(&cam_jpeg_dma_driver);
 }
 
-static void __exit cam_jpeg_dma_exit_module(void)
+void cam_jpeg_dma_exit_module(void)
 {
 	platform_driver_unregister(&cam_jpeg_dma_driver);
 }
 
-module_init(cam_jpeg_dma_init_module);
-module_exit(cam_jpeg_dma_exit_module);
 MODULE_DESCRIPTION("CAM JPEG_DMA driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 13
drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/Makefile

@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/jpeg_hw_mgr/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw
-
-obj-$(CONFIG_SPECTRA_CAMERA) += jpeg_enc_dev.o jpeg_enc_core.o jpeg_enc_soc.o

+ 10 - 0
drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_core.h

@@ -76,4 +76,14 @@ int cam_jpeg_enc_process_cmd(void *device_priv, uint32_t cmd_type,
 	void *cmd_args, uint32_t arg_size);
 irqreturn_t cam_jpeg_enc_irq(int irq_num, void *data);
 
+/**
+ * @brief : API to register JPEG ENC hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_jpeg_enc_init_module(void);
+
+/**
+ * @brief : API to remove JPEG ENC Hw from platform framework.
+ */
+void cam_jpeg_enc_exit_module(void);
 #endif /* CAM_JPEG_ENC_CORE_H */

+ 3 - 5
drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -215,17 +215,15 @@ static struct platform_driver cam_jpeg_enc_driver = {
 	},
 };
 
-static int __init cam_jpeg_enc_init_module(void)
+int cam_jpeg_enc_init_module(void)
 {
 	return platform_driver_register(&cam_jpeg_enc_driver);
 }
 
-static void __exit cam_jpeg_enc_exit_module(void)
+void cam_jpeg_enc_exit_module(void)
 {
 	platform_driver_unregister(&cam_jpeg_enc_driver);
 }
 
-module_init(cam_jpeg_enc_init_module);
-module_exit(cam_jpeg_enc_exit_module);
 MODULE_DESCRIPTION("CAM JPEG_ENC driver");
 MODULE_LICENSE("GPL v2");

+ 0 - 15
drivers/cam_lrme/Makefile

@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme/lrme_hw_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme/lrme_hw_mgr/lrme_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += lrme_hw_mgr/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_lrme_dev.o cam_lrme_context.o

+ 3 - 5
drivers/cam_lrme/cam_lrme_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/device.h>
@@ -219,17 +219,15 @@ static struct platform_driver cam_lrme_driver = {
 	},
 };
 
-static int __init cam_lrme_dev_init_module(void)
+int cam_lrme_dev_init_module(void)
 {
 	return platform_driver_register(&cam_lrme_driver);
 }
 
-static void __exit cam_lrme_dev_exit_module(void)
+void cam_lrme_dev_exit_module(void)
 {
 	platform_driver_unregister(&cam_lrme_driver);
 }
 
-module_init(cam_lrme_dev_init_module);
-module_exit(cam_lrme_dev_exit_module);
 MODULE_DESCRIPTION("MSM LRME driver");
 MODULE_LICENSE("GPL v2");

+ 20 - 0
drivers/cam_lrme/cam_lrme_dev.h

@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _CAM_LRME_DEV_H_
+#define _CAM_LRME_DEV_H_
+
+/**
+ * @brief : API to register LRME dev to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_lrme_dev_init_module(void);
+
+/**
+ * @brief : API to remove LRME dev from platform framework.
+ */
+void cam_lrme_dev_exit_module(void);
+
+#endif /* _CAM_LRME_DEV_H_ */

+ 0 - 15
drivers/cam_lrme/lrme_hw_mgr/Makefile

@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme/lrme_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme/lrme_hw_mgr/lrme_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += lrme_hw/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_lrme_hw_mgr.o

+ 0 - 14
drivers/cam_lrme/lrme_hw_mgr/lrme_hw/Makefile

@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sync
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cdm
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme/lrme_hw_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_lrme/lrme_hw_mgr/lrme_hw
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_lrme_hw_dev.o cam_lrme_hw_core.o cam_lrme_hw_soc.o

+ 2 - 4
drivers/cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_dev.c

@@ -287,17 +287,15 @@ static struct platform_driver cam_lrme_hw_driver = {
 	},
 };
 
-static int __init cam_lrme_hw_init_module(void)
+int cam_lrme_hw_init_module(void)
 {
 	return platform_driver_register(&cam_lrme_hw_driver);
 }
 
-static void __exit cam_lrme_hw_exit_module(void)
+void cam_lrme_hw_exit_module(void)
 {
 	platform_driver_unregister(&cam_lrme_hw_driver);
 }
 
-module_init(cam_lrme_hw_init_module);
-module_exit(cam_lrme_hw_exit_module);
 MODULE_DESCRIPTION("CAM LRME HW driver");
 MODULE_LICENSE("GPL v2");

+ 11 - 1
drivers/cam_lrme/lrme_hw_mgr/lrme_hw/cam_lrme_hw_intf.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_LRME_HW_INTF_H_
@@ -192,4 +192,14 @@ struct cam_lrme_hw_submit_args {
 	struct cam_lrme_frame_request *frame_req;
 };
 
+/**
+ * @brief : API to register LRME hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_lrme_hw_init_module(void);
+
+/**
+ * @brief : API to remove LRME Hw from platform framework.
+ */
+void cam_lrme_hw_exit_module(void);
 #endif /* _CAM_LRME_HW_INTF_H_ */

+ 5 - 13
drivers/cam_req_mgr/cam_req_mgr_dev.c

@@ -605,12 +605,6 @@ void cam_video_device_cleanup(void)
 	g_dev.video = NULL;
 }
 
-void cam_register_subdev_fops(struct v4l2_file_operations *fops)
-{
-	*fops = v4l2_subdev_fops;
-}
-EXPORT_SYMBOL(cam_register_subdev_fops);
-
 int cam_register_subdev(struct cam_subdev *csd)
 {
 	struct v4l2_subdev *sd;
@@ -758,7 +752,7 @@ static const struct of_device_id cam_req_mgr_dt_match[] = {
 	{.compatible = "qcom,cam-req-mgr"},
 	{}
 };
-MODULE_DEVICE_TABLE(of, cam_dt_match);
+MODULE_DEVICE_TABLE(of, cam_req_mgr_dt_match);
 
 static struct platform_driver cam_req_mgr_driver = {
 	.probe = cam_req_mgr_probe,
@@ -810,23 +804,21 @@ create_fail:
 	return rc;
 }
 
-static int __init cam_req_mgr_init(void)
+int cam_req_mgr_init(void)
 {
 	return platform_driver_register(&cam_req_mgr_driver);
 }
+EXPORT_SYMBOL(cam_req_mgr_init);
 
-static int __init cam_req_mgr_late_init(void)
+int cam_req_mgr_late_init(void)
 {
 	return cam_dev_mgr_create_subdev_nodes();
 }
 
-static void __exit cam_req_mgr_exit(void)
+void cam_req_mgr_exit(void)
 {
 	platform_driver_unregister(&cam_req_mgr_driver);
 }
 
-module_init(cam_req_mgr_init);
-late_initcall(cam_req_mgr_late_init);
-module_exit(cam_req_mgr_exit);
 MODULE_DESCRIPTION("Camera Request Manager");
 MODULE_LICENSE("GPL v2");

+ 19 - 1
drivers/cam_req_mgr/cam_req_mgr_dev.h

@@ -1,11 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_REQ_MGR_DEV_H_
 #define _CAM_REQ_MGR_DEV_H_
 
+#include "media/cam_req_mgr.h"
 /**
  * struct cam_req_mgr_device - a camera request manager device
  *
@@ -40,4 +41,21 @@ int cam_req_mgr_notify_message(struct cam_req_mgr_message *msg,
 	uint32_t id,
 	uint32_t type);
 
+/**
+ * @brief : API to register REQ_MGR to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_req_mgr_init(void);
+
+/**
+ * @brief : API to register all subdev with v4l2 framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_req_mgr_late_init(void);
+
+/**
+ * @brief : API to remove REQ_MGR from platform framework.
+ */
+void cam_req_mgr_exit(void);
+
 #endif /* _CAM_REQ_MGR_DEV_H_ */

+ 1 - 10
drivers/cam_req_mgr/cam_subdev.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _CAM_SUBDEV_H_
@@ -74,15 +74,6 @@ int cam_subdev_probe(struct cam_subdev *sd, struct platform_device *pdev,
  */
 int cam_subdev_remove(struct cam_subdev *sd);
 
-/**
- * cam_register_subdev_fops()
- *
- * @brief:   This common utility function assigns subdev ops
- *
- * @fops:    v4l file operations
- */
-void cam_register_subdev_fops(struct v4l2_file_operations *fops);
-
 /**
  * cam_register_subdev()
  *

+ 0 - 12
drivers/cam_sensor_module/Makefile

@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_res_mgr/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_utils/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cci/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_io/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_csiphy/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_actuator/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_eeprom/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_ois/
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_flash/

+ 0 - 13
drivers/cam_sensor_module/cam_actuator/Makefile

@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_cci
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_io
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_actuator_dev.o cam_actuator_core.o cam_actuator_soc.o

+ 3 - 5
drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include "cam_actuator_dev.h"
@@ -413,7 +413,7 @@ static struct i2c_driver cam_actuator_driver_i2c = {
 	},
 };
 
-static int __init cam_actuator_driver_init(void)
+int cam_actuator_driver_init(void)
 {
 	int32_t rc = 0;
 
@@ -430,13 +430,11 @@ static int __init cam_actuator_driver_init(void)
 	return rc;
 }
 
-static void __exit cam_actuator_driver_exit(void)
+void cam_actuator_driver_exit(void)
 {
 	platform_driver_unregister(&cam_actuator_platform_driver);
 	i2c_del_driver(&cam_actuator_driver_i2c);
 }
 
-module_init(cam_actuator_driver_init);
-module_exit(cam_actuator_driver_exit);
 MODULE_DESCRIPTION("cam_actuator_driver");
 MODULE_LICENSE("GPL v2");

+ 13 - 3
drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.h

@@ -64,13 +64,13 @@ struct cam_actuator_soc_private {
 };
 
 /**
- * struct intf_params
+ * struct actuator_intf_params
  * @device_hdl: Device Handle
  * @session_hdl: Session Handle
  * @ops: KMD operations
  * @crm_cb: Callback API pointers
  */
-struct intf_params {
+struct actuator_intf_params {
 	int32_t device_hdl;
 	int32_t session_hdl;
 	int32_t link_hdl;
@@ -113,8 +113,18 @@ struct cam_actuator_ctrl_t {
 	struct cam_subdev v4l2_dev_str;
 	struct i2c_data_settings i2c_data;
 	struct cam_actuator_query_cap act_info;
-	struct intf_params bridge_intf;
+	struct actuator_intf_params bridge_intf;
 	uint32_t last_flush_req;
 };
 
+/**
+ * @brief : API to register Actuator hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_actuator_driver_init(void);
+
+/**
+ * @brief : API to remove Actuator Hw from platform framework.
+ */
+void cam_actuator_driver_exit(void);
 #endif /* _CAM_ACTUATOR_DEV_H_ */

+ 0 - 11
drivers/cam_sensor_module/cam_cci/Makefile

@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_io
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_cci_dev.o cam_cci_core.o cam_cci_soc.o

+ 2 - 67
drivers/cam_sensor_module/cam_cci/cam_cci_dev.c

@@ -308,7 +308,6 @@ irqreturn_t cam_cci_irq(int irq_num, void *data)
 		cam_io_w_mb(irq_update_rd_done, base + CCI_IRQ_MASK_1_ADDR);
 	}
 
-
 	cam_io_w_mb(irq_status1, base + CCI_IRQ_CLEAR_1_ADDR);
 	cam_io_w_mb(0x1, base + CCI_IRQ_GLOBAL_CLEAR_CMD_ADDR);
 	return IRQ_HANDLED;
@@ -341,34 +340,6 @@ static const struct v4l2_subdev_ops cci_subdev_ops = {
 
 static const struct v4l2_subdev_internal_ops cci_subdev_intern_ops;
 
-static struct v4l2_file_operations cci_v4l2_subdev_fops;
-
-static long cam_cci_subdev_do_ioctl(
-	struct file *file, unsigned int cmd, void *arg)
-{
-	struct video_device *vdev = video_devdata(file);
-	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);
-
-	return cam_cci_subdev_ioctl(sd, cmd, NULL);
-}
-
-static long cam_cci_subdev_fops_ioctl(struct file *file, unsigned int cmd,
-	unsigned long arg)
-{
-	return video_usercopy(file, cmd, arg, cam_cci_subdev_do_ioctl);
-}
-
-#ifdef CONFIG_COMPAT
-static long cam_cci_subdev_fops_compat_ioctl(struct file *file,
-	unsigned int cmd, unsigned long arg)
-{
-	struct video_device *vdev = video_devdata(file);
-	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);
-
-	return v4l2_subdev_call(sd, core, ioctl, cmd, NULL);
-}
-#endif
-
 static int cam_cci_platform_probe(struct platform_device *pdev)
 {
 	struct cam_cpas_register_params cpas_parms;
@@ -428,13 +399,6 @@ static int cam_cci_platform_probe(struct platform_device *pdev)
 	mutex_init(&(new_cci_dev->init_mutex));
 	CAM_INFO(CAM_CCI, "Device Type :%d", soc_info->index);
 
-	cam_register_subdev_fops(&cci_v4l2_subdev_fops);
-	cci_v4l2_subdev_fops.unlocked_ioctl = cam_cci_subdev_fops_ioctl;
-#ifdef CONFIG_COMPAT
-	cci_v4l2_subdev_fops.compat_ioctl32 =
-		cam_cci_subdev_fops_compat_ioctl;
-#endif
-
 	cpas_parms.cam_cpas_client_cb = NULL;
 	cpas_parms.cell_index = soc_info->index;
 	cpas_parms.dev = &pdev->dev;
@@ -485,44 +449,15 @@ static struct platform_driver cci_driver = {
 	},
 };
 
-static int cam_cci_assign_fops(void)
-{
-	struct v4l2_subdev *sd;
-	int i = 0;
-
-	for (; i < MAX_CCI; i++) {
-		sd = g_cci_subdev[i];
-		if (!sd)
-			return 0;
-		if (!(sd->devnode)) {
-			CAM_ERR(CAM_CCI,
-			"Invalid dev node:%pK offset: %d",
-			sd->devnode, i);
-			return -EINVAL;
-		}
-		sd->devnode->fops = &cci_v4l2_subdev_fops;
-	}
-
-	return 0;
-}
-
-static int __init cam_cci_late_init(void)
-{
-	return cam_cci_assign_fops();
-}
-
-static int __init cam_cci_init_module(void)
+int cam_cci_init_module(void)
 {
 	return platform_driver_register(&cci_driver);
 }
 
-static void __exit cam_cci_exit_module(void)
+void cam_cci_exit_module(void)
 {
 	platform_driver_unregister(&cci_driver);
 }
 
-module_init(cam_cci_init_module);
-late_initcall(cam_cci_late_init);
-module_exit(cam_cci_exit_module);
 MODULE_DESCRIPTION("MSM CCI driver");
 MODULE_LICENSE("GPL v2");

+ 10 - 0
drivers/cam_sensor_module/cam_cci/cam_cci_dev.h

@@ -297,6 +297,16 @@ irqreturn_t cam_cci_irq(int irq_num, void *data);
 
 struct v4l2_subdev *cam_cci_get_subdev(int cci_dev_index);
 
+/**
+ * @brief : API to register CCI hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_cci_init_module(void);
+
+/**
+ * @brief : API to remove CCI Hw from platform framework.
+ */
+void cam_cci_exit_module(void);
 #define VIDIOC_MSM_CCI_CFG \
 	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, struct cam_cci_ctrl *)
 

+ 0 - 12
drivers/cam_sensor_module/cam_csiphy/Makefile

@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_io
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_cci
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_csiphy_soc.o cam_csiphy_dev.o cam_csiphy_core.o

+ 1 - 1
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c

@@ -632,7 +632,7 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
 {
 	struct csiphy_device *csiphy_dev =
 		(struct csiphy_device *)phy_dev;
-	struct intf_params   *bridge_intf = NULL;
+	struct csiphy_intf_params   *bridge_intf = NULL;
 	struct cam_control   *cmd = (struct cam_control *)arg;
 	int32_t              rc = 0;
 

+ 3 - 5
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include "cam_csiphy_dev.h"
@@ -237,17 +237,15 @@ static struct platform_driver csiphy_driver = {
 	},
 };
 
-static int32_t __init cam_csiphy_init_module(void)
+int32_t cam_csiphy_init_module(void)
 {
 	return platform_driver_register(&csiphy_driver);
 }
 
-static void __exit cam_csiphy_exit_module(void)
+void cam_csiphy_exit_module(void)
 {
 	platform_driver_unregister(&csiphy_driver);
 }
 
-module_init(cam_csiphy_init_module);
-module_exit(cam_csiphy_exit_module);
 MODULE_DESCRIPTION("CAM CSIPHY driver");
 MODULE_LICENSE("GPL v2");

+ 13 - 3
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.h

@@ -120,13 +120,13 @@ struct csiphy_reg_parms_t {
 };
 
 /**
- * struct intf_params
+ * struct csiphy_intf_params
  * @device_hdl: Device Handle
  * @session_hdl: Session Handle
  * @ops: KMD operations
  * @crm_cb: Callback API pointers
  */
-struct intf_params {
+struct csiphy_intf_params {
 	int32_t device_hdl[CSIPHY_MAX_INSTANCES];
 	int32_t session_hdl[CSIPHY_MAX_INSTANCES];
 	int32_t link_hdl[CSIPHY_MAX_INSTANCES];
@@ -281,7 +281,7 @@ struct csiphy_device {
 	uint8_t num_irq_registers;
 	struct cam_subdev v4l2_dev_str;
 	struct cam_csiphy_param csiphy_info;
-	struct intf_params bridge_intf;
+	struct csiphy_intf_params bridge_intf;
 	uint32_t clk_lane;
 	uint32_t acquire_count;
 	uint32_t start_dev_count;
@@ -292,4 +292,14 @@ struct csiphy_device {
 	uint64_t csiphy_cpas_cp_reg_mask[CSIPHY_MAX_INSTANCES];
 };
 
+/**
+ * @brief : API to register CSIPHY hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int32_t cam_csiphy_init_module(void);
+
+/**
+ * @brief : API to remove CSIPHY Hw from platform framework.
+ */
+void cam_csiphy_exit_module(void);
 #endif /* _CAM_CSIPHY_DEV_H_ */

+ 0 - 12
drivers/cam_sensor_module/cam_eeprom/Makefile

@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_io
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_cci
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_eeprom_dev.o cam_eeprom_core.o cam_eeprom_soc.o

+ 2 - 4
drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.c

@@ -555,7 +555,7 @@ static struct spi_driver cam_eeprom_spi_driver = {
 	.probe = cam_eeprom_spi_driver_probe,
 	.remove = cam_eeprom_spi_driver_remove,
 };
-static int __init cam_eeprom_driver_init(void)
+int cam_eeprom_driver_init(void)
 {
 	int rc = 0;
 
@@ -581,14 +581,12 @@ static int __init cam_eeprom_driver_init(void)
 	return rc;
 }
 
-static void __exit cam_eeprom_driver_exit(void)
+void cam_eeprom_driver_exit(void)
 {
 	platform_driver_unregister(&cam_eeprom_platform_driver);
 	spi_unregister_driver(&cam_eeprom_spi_driver);
 	i2c_del_driver(&cam_eeprom_i2c_driver);
 }
 
-module_init(cam_eeprom_driver_init);
-module_exit(cam_eeprom_driver_exit);
 MODULE_DESCRIPTION("CAM EEPROM driver");
 MODULE_LICENSE("GPL v2");

+ 11 - 0
drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h

@@ -195,4 +195,15 @@ struct cam_eeprom_ctrl_t {
 int32_t cam_eeprom_update_i2c_info(struct cam_eeprom_ctrl_t *e_ctrl,
 	struct cam_eeprom_i2c_info_t *i2c_info);
 
+/**
+ * @brief : API to register EEPROM hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int cam_eeprom_driver_init(void);
+
+/**
+ * @brief : API to remove EEPROM Hw from platform framework.
+ */
+void cam_eeprom_driver_exit(void);
+
 #endif /*_CAM_EEPROM_DEV_H_ */

+ 0 - 13
drivers/cam_sensor_module/cam_flash/Makefile

@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_cci
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_res_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_io
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_flash_dev.o cam_flash_core.o cam_flash_soc.o

+ 2 - 4
drivers/cam_sensor_module/cam_flash/cam_flash_dev.c

@@ -626,7 +626,7 @@ static struct i2c_driver cam_flash_i2c_driver = {
 	},
 };
 
-static int32_t __init cam_flash_init_module(void)
+int32_t cam_flash_init_module(void)
 {
 	int32_t rc = 0;
 
@@ -642,13 +642,11 @@ static int32_t __init cam_flash_init_module(void)
 	return rc;
 }
 
-static void __exit cam_flash_exit_module(void)
+void cam_flash_exit_module(void)
 {
 	platform_driver_unregister(&cam_flash_platform_driver);
 	i2c_del_driver(&cam_flash_i2c_driver);
 }
 
-module_init(cam_flash_init_module);
-module_exit(cam_flash_exit_module);
 MODULE_DESCRIPTION("CAM FLASH");
 MODULE_LICENSE("GPL v2");

+ 10 - 0
drivers/cam_sensor_module/cam_flash/cam_flash_dev.h

@@ -225,4 +225,14 @@ int cam_flash_pmic_flush_request(struct cam_flash_ctrl *fctrl,
 void cam_flash_shutdown(struct cam_flash_ctrl *fctrl);
 int cam_flash_release_dev(struct cam_flash_ctrl *fctrl);
 
+/**
+ * @brief : API to register FLASH hw to platform framework.
+ * @return struct platform_device pointer on on success, or ERR_PTR() on error.
+ */
+int32_t cam_flash_init_module(void);
+
+/**
+ * @brief : API to remove FLASH Hw from platform framework.
+ */
+void cam_flash_exit_module(void);
 #endif /*_CAM_FLASH_DEV_H_*/

+ 0 - 13
drivers/cam_sensor_module/cam_ois/Makefile

@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_cpas/include
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_io
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_res_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_sensor_utils
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_req_mgr
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_sensor_module/cam_cci
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu
-ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core/
-
-obj-$(CONFIG_SPECTRA_CAMERA) += cam_ois_dev.o cam_ois_core.o cam_ois_soc.o

+ 3 - 5
drivers/cam_sensor_module/cam_ois/cam_ois_dev.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
  */
 
 #include "cam_ois_dev.h"
@@ -384,7 +384,7 @@ static struct i2c_driver cam_ois_i2c_driver = {
 static struct cam_ois_registered_driver_t registered_driver = {
 	0, 0};
 
-static int __init cam_ois_driver_init(void)
+int cam_ois_driver_init(void)
 {
 	int rc = 0;
 
@@ -407,7 +407,7 @@ static int __init cam_ois_driver_init(void)
 	return rc;
 }
 
-static void __exit cam_ois_driver_exit(void)
+void cam_ois_driver_exit(void)
 {
 	if (registered_driver.platform_driver)
 		platform_driver_unregister(&cam_ois_platform_driver);
@@ -416,7 +416,5 @@ static void __exit cam_ois_driver_exit(void)
 		i2c_del_driver(&cam_ois_i2c_driver);
 }
 
-module_init(cam_ois_driver_init);
-module_exit(cam_ois_driver_exit);
 MODULE_DESCRIPTION("CAM OIS driver");
 MODULE_LICENSE("GPL v2");

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff