blob: 4ff128d7cd1033b84a93088cec2018896cf2921c [file] [log] [blame]
/* Copyright (C) 2015 Samsung Electronics.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __MODEM_NOTIFIER_H__
#define __MODEM_NOTIFIER_H__
/* refer to enum modem_state */
enum modem_event {
MODEM_EVENT_RESET = 1,
MODEM_EVENT_EXIT,
MODEM_EVENT_ONLINE = 4,
MODEM_EVENT_WATCHDOG = 9,
};
#if IS_ENABLED(CONFIG_SHM_IPC)
extern int register_modem_event_notifier(struct notifier_block *nb);
#ifdef CONFIG_SEC_SIPC_DUAL_MODEM_IF
extern void modem_notify_event(enum modem_event evt, void *mc);
#else
extern void modem_notify_event(enum modem_event evt);
#endif
#else
static inline int register_modem_event_notifier(struct notifier_block *nb)
{
return 0;
}
static inline void modem_notify_event(enum modem_event evt) {}
#endif
#endif/*__MODEM_NOTIFIER_H__*/