Skip to content

Commit

Permalink
atags_proc: switch to proc_create_data()
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Apr 9, 2013
1 parent 3273097 commit 03b642a
Showing 1 changed file with 10 additions and 18 deletions.
28 changes: 10 additions & 18 deletions arch/arm/kernel/atags_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,18 @@ struct buffer {
char data[];
};

static int
read_buffer(char* page, char** start, off_t off, int count,
int* eof, void* data)
static ssize_t atags_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{
struct buffer *buffer = (struct buffer *)data;

if (off >= buffer->size) {
*eof = 1;
return 0;
}

count = min((int) (buffer->size - off), count);

memcpy(page, &buffer->data[off], count);

return count;
struct buffer *b = PDE(file_inode(file))->data;
return simple_read_from_buffer(buf, count, ppos, b->data, b->size);
}

static const struct file_operations atags_fops = {
.read = atags_read,
.llseek = default_llseek,
};

#define BOOT_PARAMS_SIZE 1536
static char __initdata atags_copy[BOOT_PARAMS_SIZE];

Expand Down Expand Up @@ -66,9 +60,7 @@ static int __init init_atags_procfs(void)
b->size = size;
memcpy(b->data, atags_copy, size);

tags_entry = create_proc_read_entry("atags", 0400,
NULL, read_buffer, b);

tags_entry = proc_create_data("atags", 0400, NULL, &atags_fops, b);
if (!tags_entry)
goto nomem;

Expand Down

0 comments on commit 03b642a

Please sign in to comment.