diff --git a/Kbuild b/Kbuild index fee8b101ec..f06473ec27 100644 --- a/Kbuild +++ b/Kbuild @@ -90,6 +90,8 @@ ifeq (,$(filter $(CONFIG_CAM_PRESIL),y m)) camera-y += drivers/cam_utils/cam_io_util.o else camera-y += drivers/cam_presil/presil/cam_presil_io_util.o + camera-y += drivers/cam_presil/presil/cam_presil_hw_access.o + camera-y += drivers/cam_presil/presil_framework_dev/cam_presil_framework_dev.o ccflags-y += -DCONFIG_CAM_PRESIL=1 endif diff --git a/drivers/camera_main.c b/drivers/camera_main.c index 4381561662..1ad29b9678 100644 --- a/drivers/camera_main.c +++ b/drivers/camera_main.c @@ -63,6 +63,11 @@ #include "cam_csid_ppi100.h" #include "camera_main.h" +#ifdef CONFIG_CAM_PRESIL +extern int cam_presil_framework_dev_init_from_main(void); +extern void cam_presil_framework_dev_exit_from_main(void); +#endif + struct camera_submodule_component { int (*init)(void); void (*exit)(void); @@ -171,6 +176,12 @@ static const struct camera_submodule_component camera_custom[] = { #endif }; +static const struct camera_submodule_component camera_presil[] = { +#ifdef CONFIG_CAM_PRESIL + {&cam_presil_framework_dev_init_from_main, &cam_presil_framework_dev_exit_from_main}, +#endif +}; + static const struct camera_submodule submodule_table[] = { { .name = "Camera BASE", @@ -226,6 +237,11 @@ static const struct camera_submodule submodule_table[] = { .name = "Camera CUSTOM", .num_component = ARRAY_SIZE(camera_custom), .component = camera_custom, + }, + { + .name = "Camera Presil", + .num_component = ARRAY_SIZE(camera_presil), + .component = camera_presil, } };