96 lines
2.5 KiB
C
96 lines
2.5 KiB
C
|
/****************************************************************************
|
||
|
*
|
||
|
* Copyright (c) 2014 - 2019 Samsung Electronics Co., Ltd. All rights reserved
|
||
|
*
|
||
|
****************************************************************************/
|
||
|
#ifndef __SCSC_WLBTD_H
|
||
|
#define __SCSC_WLBTD_H
|
||
|
#include <net/genetlink.h>
|
||
|
#include <scsc/scsc_logring.h>
|
||
|
#include <scsc/scsc_mx.h>
|
||
|
#include <scsc/scsc_log_collector.h>
|
||
|
|
||
|
/* module parameter value to indicate control of recovery via .memdump.info file */
|
||
|
#define MEMDUMP_FILE_FOR_RECOVERY 2
|
||
|
/* content of .memdump.info file indicating to panic kernel */
|
||
|
#define MEMDUMP_FILE_KERNEL_PANIC 3
|
||
|
|
||
|
/**
|
||
|
* Attributes are fields of data your messages will contain.
|
||
|
* The designers of Netlink really want you to use these instead of just dumping
|
||
|
* data to the packet payload.
|
||
|
*/
|
||
|
enum attributes {
|
||
|
/* The first one has to be a throwaway empty attribute */
|
||
|
ATTR_UNSPEC,
|
||
|
|
||
|
ATTR_STR,
|
||
|
ATTR_INT,
|
||
|
ATTR_PATH,
|
||
|
ATTR_CONTENT,
|
||
|
ATTR_INT8,
|
||
|
|
||
|
/* This must be last! */
|
||
|
__ATTR_MAX,
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Message type codes.
|
||
|
*/
|
||
|
enum events {
|
||
|
/* must be first */
|
||
|
EVENT_UNSPEC,
|
||
|
|
||
|
EVENT_SCSC,
|
||
|
EVENT_SYSTEM_PROPERTY,
|
||
|
EVENT_WRITE_FILE,
|
||
|
EVENT_SABLE,
|
||
|
#if defined(SCSC_SEP_VERSION) && SCSC_SEP_VERSION >= 12
|
||
|
EVENT_CHIPSET_LOGGING,
|
||
|
#endif
|
||
|
/* This must be last! */
|
||
|
__EVENT_MAX,
|
||
|
};
|
||
|
|
||
|
enum scsc_wlbtd_response_codes {
|
||
|
/* NOTE: keep the enum in sync with userspace wlbtd */
|
||
|
/* parse failed */
|
||
|
SCSC_WLBTD_ERR_PARSE_FAILED,
|
||
|
|
||
|
/* fw_panic trigger */
|
||
|
SCSC_WLBTD_FW_PANIC_TAR_GENERATED,
|
||
|
SCSC_WLBTD_FW_PANIC_ERR_SCRIPT_FILE_NOT_FOUND,
|
||
|
SCSC_WLBTD_FW_PANIC_ERR_NO_DEV,
|
||
|
SCSC_WLBTD_FW_PANIC_ERR_MMAP,
|
||
|
SCSC_WLBTD_FW_PANIC_ERR_SABLE_FILE,
|
||
|
SCSC_WLBTD_FW_PANIC_ERR_TAR,
|
||
|
|
||
|
/* other triggers */
|
||
|
SCSC_WLBTD_OTHER_SBL_GENERATED,
|
||
|
SCSC_WLBTD_OTHER_TAR_GENERATED,
|
||
|
SCSC_WLBTD_OTHER_ERR_SCRIPT_FILE_NOT_FOUND,
|
||
|
SCSC_WLBTD_OTHER_ERR_NO_DEV,
|
||
|
SCSC_WLBTD_OTHER_ERR_MMAP,
|
||
|
SCSC_WLBTD_OTHER_ERR_SABLE_FILE,
|
||
|
SCSC_WLBTD_OTHER_ERR_TAR,
|
||
|
SCSC_WLBTD_OTHER_IGNORE_TRIGGER,
|
||
|
|
||
|
/* Keep this as last entry */
|
||
|
SCSC_WLBTD_LAST_RESPONSE_CODE,
|
||
|
};
|
||
|
|
||
|
static const struct genl_multicast_group scsc_mcgrp[] = {
|
||
|
{ .name = "scsc_mdp_grp", },
|
||
|
};
|
||
|
int scsc_wlbtd_init(void);
|
||
|
int scsc_wlbtd_deinit(void);
|
||
|
int call_wlbtd(const char *script_path);
|
||
|
int wlbtd_write_file(const char *path, const char *content);
|
||
|
#if defined(SCSC_SEP_VERSION) && SCSC_SEP_VERSION >= 12
|
||
|
int wlbtd_chipset_logging(const char *content, size_t bytes, bool over_mmap);
|
||
|
#endif
|
||
|
int call_wlbtd_sable(u8 trigger_code, u16 reason_code);
|
||
|
void scsc_wlbtd_wait_for_sable_logging(void);
|
||
|
int scsc_wlbtd_get_and_print_build_type(void);
|
||
|
#endif
|