|
@@ -27,6 +27,7 @@
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/spinlock.h>
|
|
#include <linux/spinlock.h>
|
|
#include <linux/kmsg_dump.h>
|
|
#include <linux/kmsg_dump.h>
|
|
|
|
+#include <linux/pagemap.h>
|
|
#include <linux/pstore.h>
|
|
#include <linux/pstore.h>
|
|
#include <linux/zlib.h>
|
|
#include <linux/zlib.h>
|
|
#include <asm/uaccess.h>
|
|
#include <asm/uaccess.h>
|
|
@@ -733,24 +734,10 @@ static void oops_to_nvram(struct kmsg_dumper *dumper,
|
|
|
|
|
|
static loff_t dev_nvram_llseek(struct file *file, loff_t offset, int origin)
|
|
static loff_t dev_nvram_llseek(struct file *file, loff_t offset, int origin)
|
|
{
|
|
{
|
|
- int size;
|
|
|
|
-
|
|
|
|
if (ppc_md.nvram_size == NULL)
|
|
if (ppc_md.nvram_size == NULL)
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
- size = ppc_md.nvram_size();
|
|
|
|
-
|
|
|
|
- switch (origin) {
|
|
|
|
- case 1:
|
|
|
|
- offset += file->f_pos;
|
|
|
|
- break;
|
|
|
|
- case 2:
|
|
|
|
- offset += size;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- if (offset < 0)
|
|
|
|
- return -EINVAL;
|
|
|
|
- file->f_pos = offset;
|
|
|
|
- return file->f_pos;
|
|
|
|
|
|
+ return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE,
|
|
|
|
+ ppc_md.nvram_size());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|