blob: 1543c8956dbba2d1baba793290f245ee75dc2e3b [file] [log] [blame]
/****************************************************************************
*
* Copyright (c) 2014 - 2016 Samsung Electronics Co., Ltd. All rights reserved
*
****************************************************************************/
#ifndef __SLSI_KIC_LIB_H
#define __SLSI_KIC_LIB_H
#ifdef CONFIG_SLSI_KIC_API_ENABLED
#include <scsc/kic/slsi_kic.h>
#endif
#include <scsc/kic/slsi_kic_prim.h>
/**
* Library functions for sending information to kernel KIC, which will process
* the event and take appropriate action, i.e. forward to relevant user
* processes etc.
*/
#ifdef CONFIG_SLSI_KIC_API_ENABLED
static inline void slsi_kic_system_event(enum slsi_kic_system_event_category event_cat,
enum slsi_kic_system_events event, gfp_t flags)
{
(void)slsi_kic_system_event_ind(event_cat, event, flags);
}
static inline void slsi_kic_service_information(enum slsi_kic_technology_type tech,
struct slsi_kic_service_info *info)
{
(void)slsi_kic_service_information_ind(tech, info);
}
static inline void slsi_kic_firmware_event(uint16_t firmware_event_type,
enum slsi_kic_technology_type tech_type,
uint32_t contain_type,
struct slsi_kic_firmware_event_ccp_host *event)
{
(void)slsi_kic_firmware_event_ind(firmware_event_type, tech_type,
contain_type, event);
}
#else
#define slsi_kic_system_event(a, b, c) \
do { \
(void)(a); \
(void)(b); \
(void)(c); \
} while (0)
#define slsi_kic_service_information(a, b) \
do { \
(void)(a); \
(void)(b); \
} while (0)
#define slsi_kic_firmware_event(a, b, c, d) \
do { \
(void)(a); \
(void)(b); \
(void)(c); \
(void)(d); \
} while (0)
#endif
#endif /* #ifndef __SLSI_KIC_LIB_H */