/****************************************************************************** * 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; }