
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 <jzala@codeaurora.org> Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
42 行
1.1 KiB
C
42 行
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _CAM_ISP_DEV_H_
|
|
#define _CAM_ISP_DEV_H_
|
|
|
|
#include "cam_subdev.h"
|
|
#include "cam_hw_mgr_intf.h"
|
|
#include "cam_context.h"
|
|
#include "cam_isp_context.h"
|
|
|
|
/**
|
|
* struct cam_isp_dev - Camera ISP V4l2 device node
|
|
*
|
|
* @sd: Commone camera subdevice node
|
|
* @ctx: Isp base context storage
|
|
* @ctx_isp: Isp private context storage
|
|
* @isp_mutex: ISP dev mutex
|
|
* @open_cnt: Open device count
|
|
*/
|
|
struct cam_isp_dev {
|
|
struct cam_subdev sd;
|
|
struct cam_context ctx[CAM_CTX_MAX];
|
|
struct cam_isp_context ctx_isp[CAM_CTX_MAX];
|
|
struct mutex isp_mutex;
|
|
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__ */
|