123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2017-2020, 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
- * @isp_device_type ISP device type
- * @max_context maximum contexts for TFE is 4 and for IFE is 8
- */
- struct cam_isp_dev {
- struct cam_subdev sd;
- struct cam_context *ctx;
- struct cam_isp_context *ctx_isp;
- struct mutex isp_mutex;
- int32_t open_cnt;
- uint32_t isp_device_type;
- int32_t max_context;
- };
- /**
- * @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__ */
|