/******************************************************************************
 * AED KE File operations
 *****************************************************************************/
static int aed_ke_open(struct inode *inode, struct file *filp)
{
	struct aee_oops *oops_open = NULL;

    ke_destroy_log();//Destroy last log record
    xlog_printk(ANDROID_LOG_DEBUG, AEK_LOG_TAG, "%s:%d:%d\n", 
                __func__, MAJOR(inode->i_rdev), MINOR(inode->i_rdev));

    oops_open = ipanic_oops_copy();
    if (oops_open == NULL){
        return 0;
    }
   	/* The panic log only occur on system startup, so check it now */
	ke_gen_ind_msg(oops_open);
	return 0;
}
static int mtd_ipanic_proc_oops(char *page, char **start,
				off_t off, int count,
				int *eof, void *data)
{
	int len;
	struct aee_oops *oops = ipanic_oops_copy();
	len = sprintf(page, "aee-ipanic Oops\n");
	if (oops) {
		len += sprintf(page + len, "Module: %s\nProcess\n%s\nBacktrace\n%s", oops->module, oops->process_path, oops->backtrace);
		ipanic_oops_free(oops, 0);
	}
	else {
		len += sprintf(page + len, "No available\n");
	}
	return len;
}