|
@@ -293,34 +293,35 @@ int nvram_write_error_log(char * buff, int length,
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-/* nvram_read_error_log
|
|
|
+/* nvram_read_partition
|
|
|
*
|
|
|
- * Reads nvram for error log for at most 'length'
|
|
|
+ * Reads nvram partition for at most 'length'
|
|
|
*/
|
|
|
-int nvram_read_error_log(char * buff, int length,
|
|
|
- unsigned int * err_type, unsigned int * error_log_cnt)
|
|
|
+int nvram_read_partition(struct nvram_os_partition *part, char *buff,
|
|
|
+ int length, unsigned int *err_type,
|
|
|
+ unsigned int *error_log_cnt)
|
|
|
{
|
|
|
int rc;
|
|
|
loff_t tmp_index;
|
|
|
struct err_log_info info;
|
|
|
|
|
|
- if (rtas_log_partition.index == -1)
|
|
|
+ if (part->index == -1)
|
|
|
return -1;
|
|
|
|
|
|
- if (length > rtas_log_partition.size)
|
|
|
- length = rtas_log_partition.size;
|
|
|
+ if (length > part->size)
|
|
|
+ length = part->size;
|
|
|
|
|
|
- tmp_index = rtas_log_partition.index;
|
|
|
+ tmp_index = part->index;
|
|
|
|
|
|
rc = ppc_md.nvram_read((char *)&info, sizeof(struct err_log_info), &tmp_index);
|
|
|
if (rc <= 0) {
|
|
|
- printk(KERN_ERR "nvram_read_error_log: Failed nvram_read (%d)\n", rc);
|
|
|
+ pr_err("%s: Failed nvram_read (%d)\n", __FUNCTION__, rc);
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
rc = ppc_md.nvram_read(buff, length, &tmp_index);
|
|
|
if (rc <= 0) {
|
|
|
- printk(KERN_ERR "nvram_read_error_log: Failed nvram_read (%d)\n", rc);
|
|
|
+ pr_err("%s: Failed nvram_read (%d)\n", __FUNCTION__, rc);
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
@@ -330,6 +331,17 @@ int nvram_read_error_log(char * buff, int length,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+/* nvram_read_error_log
|
|
|
+ *
|
|
|
+ * Reads nvram for error log for at most 'length'
|
|
|
+ */
|
|
|
+int nvram_read_error_log(char *buff, int length,
|
|
|
+ unsigned int *err_type, unsigned int *error_log_cnt)
|
|
|
+{
|
|
|
+ return nvram_read_partition(&rtas_log_partition, buff, length,
|
|
|
+ err_type, error_log_cnt);
|
|
|
+}
|
|
|
+
|
|
|
/* This doesn't actually zero anything, but it sets the event_logged
|
|
|
* word to tell that this event is safely in syslog.
|
|
|
*/
|