1 /****************************************************************************
3 * Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved.
5 ****************************************************************************/
7 #include <scsc/scsc_logring.h>
10 #include "scsc_mif_abs.h"
13 static void panicmon_isr(int irq
, void *data
)
15 struct panicmon
*panicmon
= (struct panicmon
*)data
;
17 SCSC_TAG_DEBUG(PANIC_MON
, "panicmon=%p panicmon->mx=%p mxman=%p\n", panicmon
, panicmon
->mx
, scsc_mx_get_mxman(panicmon
->mx
));
18 /* Avoid unused parameter error */
20 mxman_fail(scsc_mx_get_mxman(panicmon
->mx
), SCSC_PANIC_CODE_FW
<< 15, __func__
);
24 void panicmon_init(struct panicmon
*panicmon
, struct scsc_mx
*mx
)
26 struct scsc_mif_abs
*mif
;
29 mif
= scsc_mx_get_mif_abs(mx
);
30 /* register isr with mif abstraction */
31 mif
->irq_reg_reset_request_handler(mif
, panicmon_isr
, (void *)panicmon
);
34 void panicmon_deinit(struct panicmon
*panicmon
)
36 struct scsc_mif_abs
*mif
;
38 mif
= scsc_mx_get_mif_abs(panicmon
->mx
);
39 mif
->irq_unreg_reset_request_handler(mif
);