#include <linux/cleanup.h>
#include <linux/crc8.h>
#include <linux/i2c.h>
#include "aw88395_lib.h"
#include "aw88395_device.h"
#define AW88395_CRC8_POLYNOMIAL …
DECLARE_CRC8_TABLE(aw_crc8_table);
static char *profile_name[AW88395_PROFILE_MAX] = …;
static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin);
static int aw_check_sum(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{ … }
static int aw_check_data_version(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{ … }
static int aw_check_register_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{ … }
static int aw_check_dsp_reg_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{ … }
static int aw_check_soc_app_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{ … }
static void aw_get_single_bin_header(struct aw_bin *bin)
{ … }
static int aw_parse_one_of_multi_bins(struct aw_device *aw_dev, unsigned int bin_num,
int bin_serial_num, struct aw_bin *bin)
{ … }
static int aw_get_multi_bin_header(struct aw_device *aw_dev, struct aw_bin *bin)
{ … }
static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin)
{ … }
static int aw_check_bin_header_version(struct aw_device *aw_dev, struct aw_bin *bin)
{ … }
static int aw_parsing_bin_file(struct aw_device *aw_dev, struct aw_bin *bin)
{ … }
static int aw_dev_parse_raw_reg(unsigned char *data, unsigned int data_len,
struct aw_prof_desc *prof_desc)
{ … }
static int aw_dev_parse_raw_dsp_cfg(unsigned char *data, unsigned int data_len,
struct aw_prof_desc *prof_desc)
{ … }
static int aw_dev_parse_raw_dsp_fw(unsigned char *data, unsigned int data_len,
struct aw_prof_desc *prof_desc)
{ … }
static int aw_dev_prof_parse_multi_bin(struct aw_device *aw_dev, unsigned char *data,
unsigned int data_len, struct aw_prof_desc *prof_desc)
{ … }
static int aw_dev_parse_reg_bin_with_hdr(struct aw_device *aw_dev,
uint8_t *data, uint32_t data_len, struct aw_prof_desc *prof_desc)
{ … }
static int aw_dev_parse_data_by_sec_type(struct aw_device *aw_dev, struct aw_cfg_hdr *cfg_hdr,
struct aw_cfg_dde *cfg_dde, struct aw_prof_desc *scene_prof_desc)
{ … }
static int aw_dev_parse_dev_type(struct aw_device *aw_dev,
struct aw_cfg_hdr *prof_hdr, struct aw_all_prof_info *all_prof_info)
{ … }
static int aw_dev_parse_dev_default_type(struct aw_device *aw_dev,
struct aw_cfg_hdr *prof_hdr, struct aw_all_prof_info *all_prof_info)
{ … }
static int aw_dev_cfg_get_reg_valid_prof(struct aw_device *aw_dev,
struct aw_all_prof_info *all_prof_info)
{ … }
static int aw_dev_cfg_get_multiple_valid_prof(struct aw_device *aw_dev,
struct aw_all_prof_info *all_prof_info)
{ … }
static int aw_dev_load_cfg_by_hdr(struct aw_device *aw_dev,
struct aw_cfg_hdr *prof_hdr)
{ … }
static int aw_dev_create_prof_name_list_v1(struct aw_device *aw_dev)
{ … }
static int aw_get_dde_type_info(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{ … }
static int aw_get_dev_scene_count_v1(struct aw_device *aw_dev, struct aw_container *aw_cfg,
unsigned int *scene_num)
{ … }
static int aw_get_default_scene_count_v1(struct aw_device *aw_dev,
struct aw_container *aw_cfg,
unsigned int *scene_num)
{ … }
static int aw_dev_parse_scene_count_v1(struct aw_device *aw_dev,
struct aw_container *aw_cfg,
unsigned int *count)
{ … }
static int aw_dev_parse_data_by_sec_type_v1(struct aw_device *aw_dev,
struct aw_cfg_hdr *prof_hdr,
struct aw_cfg_dde_v1 *cfg_dde,
int *cur_scene_id)
{ … }
static int aw_dev_parse_dev_type_v1(struct aw_device *aw_dev,
struct aw_cfg_hdr *prof_hdr)
{ … }
static int aw_dev_parse_default_type_v1(struct aw_device *aw_dev,
struct aw_cfg_hdr *prof_hdr)
{ … }
static int aw_dev_parse_by_hdr_v1(struct aw_device *aw_dev,
struct aw_cfg_hdr *cfg_hdr)
{ … }
static int aw_dev_load_cfg_by_hdr_v1(struct aw_device *aw_dev,
struct aw_container *aw_cfg)
{ … }
int aw88395_dev_cfg_load(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{ … }
EXPORT_SYMBOL_GPL(…);
static int aw_dev_check_cfg_by_hdr(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{ … }
static int aw_dev_check_acf_by_hdr_v1(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{ … }
int aw88395_dev_load_acf_check(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;