diff --git a/qdf/inc/qdf_util.h b/qdf/inc/qdf_util.h index 1ac3a2a4bb..3955dfce68 100644 --- a/qdf/inc/qdf_util.h +++ b/qdf/inc/qdf_util.h @@ -42,6 +42,7 @@ #endif typedef __qdf_wait_queue_head_t qdf_wait_queue_head_t; +typedef void (*qdf_fw_down_callback)(void); /** * qdf_unlikely - Compiler-dependent macro denoting code likely to execute @@ -655,4 +656,11 @@ void qdf_get_random_bytes(void *buf, int nbytes) { return __qdf_get_random_bytes(buf, nbytes); } + +/** + * qdf_register_fw_down_callback() - API to register fw down callback + * + * Return: none + */ +void qdf_register_fw_down_callback(qdf_fw_down_callback *fw_down_callback); #endif /*_QDF_UTIL_H*/ diff --git a/qdf/src/qdf_types.c b/qdf/src/qdf_types.c index 9617934ee0..d1c4fc11db 100644 --- a/qdf/src/qdf_types.c +++ b/qdf/src/qdf_types.c @@ -23,6 +23,8 @@ #include "qdf_trace.h" #include "qdf_types.h" +static qdf_fw_down_callback *is_fw_down_cb; + static QDF_STATUS qdf_consume_char(char **str, char c) { if ((*str)[0] != c) @@ -524,3 +526,8 @@ QDF_STATUS qdf_ipv6_parse(char *ipv6_str, struct qdf_ipv6_addr *out_addr) } qdf_export_symbol(qdf_ipv6_parse); +void qdf_register_fw_down_callback(qdf_fw_down_callback *fw_down_callback) +{ + is_fw_down_cb = fw_down_callback; +} +qdf_export_symbol(qdf_register_fw_down_callback);