Commit 03b642a7 authored by Al Viro's avatar Al Viro

atags_proc: switch to proc_create_data()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 3273097e
...@@ -9,24 +9,18 @@ struct buffer { ...@@ -9,24 +9,18 @@ struct buffer {
char data[]; char data[];
}; };
static int static ssize_t atags_read(struct file *file, char __user *buf,
read_buffer(char* page, char** start, off_t off, int count, size_t count, loff_t *ppos)
int* eof, void* data)
{ {
struct buffer *buffer = (struct buffer *)data; struct buffer *b = PDE(file_inode(file))->data;
return simple_read_from_buffer(buf, count, ppos, b->data, b->size);
if (off >= buffer->size) {
*eof = 1;
return 0;
}
count = min((int) (buffer->size - off), count);
memcpy(page, &buffer->data[off], count);
return count;
} }
static const struct file_operations atags_fops = {
.read = atags_read,
.llseek = default_llseek,
};
#define BOOT_PARAMS_SIZE 1536 #define BOOT_PARAMS_SIZE 1536
static char __initdata atags_copy[BOOT_PARAMS_SIZE]; static char __initdata atags_copy[BOOT_PARAMS_SIZE];
...@@ -66,9 +60,7 @@ static int __init init_atags_procfs(void) ...@@ -66,9 +60,7 @@ static int __init init_atags_procfs(void)
b->size = size; b->size = size;
memcpy(b->data, atags_copy, size); memcpy(b->data, atags_copy, size);
tags_entry = create_proc_read_entry("atags", 0400, tags_entry = proc_create_data("atags", 0400, NULL, &atags_fops, b);
NULL, read_buffer, b);
if (!tags_entry) if (!tags_entry)
goto nomem; goto nomem;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment