1 /* SPDX-License-Identifier: GPL-2.0-only 2 * 3 * Copyright (C) 2020-21 Intel Corporation. 4 */ 5 6 #ifndef IOSM_IPC_UEVENT_H 7 #define IOSM_IPC_UEVENT_H 8 9 /* Baseband event strings */ 10 #define UEVENT_MDM_NOT_READY "MDM_NOT_READY" 11 #define UEVENT_ROM_READY "ROM_READY" 12 #define UEVENT_MDM_READY "MDM_READY" 13 #define UEVENT_CRASH "CRASH" 14 #define UEVENT_CD_READY "CD_READY" 15 #define UEVENT_CD_READY_LINK_DOWN "CD_READY_LINK_DOWN" 16 #define UEVENT_MDM_TIMEOUT "MDM_TIMEOUT" 17 18 /* Maximum length of user events */ 19 #define MAX_UEVENT_LEN 64 20 21 /** 22 * struct ipc_uevent_info - Uevent information structure. 23 * @dev: Pointer to device structure 24 * @uevent: Uevent information 25 * @work: Uevent work struct 26 */ 27 struct ipc_uevent_info { 28 struct device *dev; 29 char uevent[MAX_UEVENT_LEN]; 30 struct work_struct work; 31 }; 32 33 /** 34 * ipc_uevent_send - Send modem event to user space. 35 * @dev: Generic device pointer 36 * @uevent: Uevent information 37 * 38 */ 39 void ipc_uevent_send(struct device *dev, char *uevent); 40 41 #endif 42