atags_proc: switch to proc_create_data()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-03-28 18:11:13 -04:00
Родитель 3273097ee9
Коммит 03b642a701
1 изменённых файлов: 10 добавлений и 18 удалений

Просмотреть файл

@ -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)
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;