blob: f2a782b11a510d4c1acd47fd9267790bcbe26959 [file] [log] [blame]
Jigarkumar Zala35226272017-04-19 16:05:24 -07001/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#ifndef _CAM_FLASH_CORE_H_
14#define _CAM_FLASH_CORE_H_
15
16#include <linux/leds-qpnp-flash.h>
17#include <media/cam_sensor.h>
18#include "cam_flash_dev.h"
19#include "cam_sync_api.h"
20#include "cam_mem_mgr_api.h"
21
22int cam_flash_parser(struct cam_flash_ctrl *fctrl, void *arg);
23int cam_flash_publish_dev_info(struct cam_req_mgr_device_info *info);
24int cam_flash_establish_link(struct cam_req_mgr_core_dev_link_setup *link);
25int cam_flash_apply_setting(struct cam_flash_ctrl *fctrl, uint64_t req_id);
26int cam_flash_apply_request(struct cam_req_mgr_apply_request *apply);
27int cam_flash_process_evt(struct cam_req_mgr_link_evt_data *event_data);
28int cam_flash_flush_request(struct cam_req_mgr_flush_request *flush);
29int cam_flash_off(struct cam_flash_ctrl *fctrl);
30int cam_flash_prepare(struct cam_flash_ctrl *flash_ctrl,
31 enum cam_flash_state state);
Soundrapandian Jeyaprakash8d16e272017-10-12 11:05:37 -070032void cam_flash_shutdown(struct cam_flash_ctrl *flash_ctrl);
Jigarkumar Zala35226272017-04-19 16:05:24 -070033#endif /*_CAM_FLASH_CORE_H_*/