1 /* 2 * Copyright (c) 2025, MediaTek Inc. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef MT_LP_IRQREMAIN_H 8 #define MT_LP_IRQREMAIN_H 9 10 struct mt_lp_irqinfo { 11 unsigned int val; 12 }; 13 14 enum mt_lp_irqremain_type { 15 MT_LP_IRQREMAIN_IRQ, 16 MT_LP_IRQREMAIN_WAKEUP_CAT, 17 MT_LP_IRQREMAIN_WAKEUP_SRC, 18 }; 19 20 int mt_lp_irqremain_set(unsigned int type, 21 const struct mt_lp_irqinfo *value); 22 int mt_lp_irqremain_get(unsigned int idx, unsigned int type, 23 struct mt_lp_irqinfo *value); 24 unsigned int mt_lp_irqremain_count(void); 25 int mt_lp_irqremain_push(void); 26 int mt_lp_irqremain_pop(void); 27 int mt_lp_irqremain_submit(void); 28 int mt_lp_irqremain_aquire(void); 29 int mt_lp_irqremain_release(void); 30 void mt_lp_irqremain_init(void); 31 32 #endif /* MT_LP_IRQREMAIN_H */ 33