Loading arch/xtensa/platforms/iss/simdisk.c +23 −13 Original line number Diff line number Diff line Loading @@ -214,20 +214,27 @@ static int simdisk_detach(struct simdisk *dev) return err; } static int proc_read_simdisk(char *page, char **start, off_t off, int count, int *eof, void *data) static ssize_t proc_read_simdisk(struct file *file, char __user *buf, size_t size, loff_t *ppos) { int len; struct simdisk *dev = (struct simdisk *) data; len = sprintf(page, "%s\n", dev->filename ? dev->filename : ""); return len; struct simdisk *dev = PDE(file_inode(file))->data; char *s = dev->filename; if (s) { ssize_t n = simple_read_from_buffer(buf, size, ppos, s, strlen(s)); if (n < 0) return n; buf += n; size -= n; } return simple_read_from_buffer(buf, size, ppos, "\n", 1); } static int proc_write_simdisk(struct file *file, const char *buffer, unsigned long count, void *data) static ssize_t proc_write_simdisk(struct file *file, const char __user *buf, size_t size, loff_t *ppos) { char *tmp = kmalloc(count + 1, GFP_KERNEL); struct simdisk *dev = (struct simdisk *) data; struct simdisk *dev = PDE(file_inode(file))->data; int err; if (tmp == NULL) Loading Loading @@ -256,6 +263,12 @@ static int proc_write_simdisk(struct file *file, const char *buffer, return err; } static const struct file_operations fops = { .read = proc_read_simdisk, .write = proc_write_simdisk, .llseek = default_llseek, }; static int __init simdisk_setup(struct simdisk *dev, int which, struct proc_dir_entry *procdir) { Loading Loading @@ -289,10 +302,7 @@ static int __init simdisk_setup(struct simdisk *dev, int which, set_capacity(dev->gd, 0); add_disk(dev->gd); dev->procfile = create_proc_entry(tmp, 0644, procdir); dev->procfile->data = dev; dev->procfile->read_proc = proc_read_simdisk; dev->procfile->write_proc = proc_write_simdisk; dev->procfile = proc_create_data(tmp, 0644, procdir, &fops, dev); return 0; out_alloc_disk: Loading Loading
arch/xtensa/platforms/iss/simdisk.c +23 −13 Original line number Diff line number Diff line Loading @@ -214,20 +214,27 @@ static int simdisk_detach(struct simdisk *dev) return err; } static int proc_read_simdisk(char *page, char **start, off_t off, int count, int *eof, void *data) static ssize_t proc_read_simdisk(struct file *file, char __user *buf, size_t size, loff_t *ppos) { int len; struct simdisk *dev = (struct simdisk *) data; len = sprintf(page, "%s\n", dev->filename ? dev->filename : ""); return len; struct simdisk *dev = PDE(file_inode(file))->data; char *s = dev->filename; if (s) { ssize_t n = simple_read_from_buffer(buf, size, ppos, s, strlen(s)); if (n < 0) return n; buf += n; size -= n; } return simple_read_from_buffer(buf, size, ppos, "\n", 1); } static int proc_write_simdisk(struct file *file, const char *buffer, unsigned long count, void *data) static ssize_t proc_write_simdisk(struct file *file, const char __user *buf, size_t size, loff_t *ppos) { char *tmp = kmalloc(count + 1, GFP_KERNEL); struct simdisk *dev = (struct simdisk *) data; struct simdisk *dev = PDE(file_inode(file))->data; int err; if (tmp == NULL) Loading Loading @@ -256,6 +263,12 @@ static int proc_write_simdisk(struct file *file, const char *buffer, return err; } static const struct file_operations fops = { .read = proc_read_simdisk, .write = proc_write_simdisk, .llseek = default_llseek, }; static int __init simdisk_setup(struct simdisk *dev, int which, struct proc_dir_entry *procdir) { Loading Loading @@ -289,10 +302,7 @@ static int __init simdisk_setup(struct simdisk *dev, int which, set_capacity(dev->gd, 0); add_disk(dev->gd); dev->procfile = create_proc_entry(tmp, 0644, procdir); dev->procfile->data = dev; dev->procfile->read_proc = proc_read_simdisk; dev->procfile->write_proc = proc_write_simdisk; dev->procfile = proc_create_data(tmp, 0644, procdir, &fops, dev); return 0; out_alloc_disk: Loading