Loading drivers/video/bfin_adv7393fb.c +19 −24 Original line number Diff line number Diff line Loading @@ -333,29 +333,23 @@ static int proc_output(char *buf) return p - buf; } static int adv7393_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data) static ssize_t adv7393_read_proc(struct file *file, char __user *buf, size_t size, loff_t *ppos) { int len; len = proc_output(page); if (len <= off + count) *eof = 1; *start = page + off; len -= off; if (len > count) len = count; if (len < 0) len = 0; return len; static const char message[] = "Usage:\n" "echo 0x[REG][Value] > adv7393\n" "example: echo 0x1234 >adv7393\n" "writes 0x34 into Register 0x12\n"; return simple_read_from_buffer(buf, size, ppos, message, sizeof(message)); } static int static ssize_t adv7393_write_proc(struct file *file, const char __user * buffer, size_t count, void *data) size_t count, loff_t *ppos) { struct adv7393fb_device *fbdev = data; struct adv7393fb_device *fbdev = PDE(file_inode(file))->data; unsigned int val; int ret; Loading @@ -368,6 +362,12 @@ adv7393_write_proc(struct file *file, const char __user * buffer, return count; } static const struct file_operations fops = { .read = adv7393_read_proc, .write = adv7393_write_proc, .llseek = default_llseek, }; static int bfin_adv7393_fb_probe(struct i2c_client *client, const struct i2c_device_id *id) { Loading Loading @@ -506,17 +506,12 @@ static int bfin_adv7393_fb_probe(struct i2c_client *client, fbdev->info.node, fbdev->info.fix.id); dev_info(&client->dev, "fb memory address : 0x%p\n", fbdev->fb_mem); entry = create_proc_entry("driver/adv7393", 0, NULL); entry = proc_create_data("driver/adv7393", 0, NULL, &fops, fbdev); if (!entry) { dev_err(&client->dev, "unable to create /proc entry\n"); ret = -EFAULT; goto free_fb; } entry->read_proc = adv7393_read_proc; entry->write_proc = adv7393_write_proc; entry->data = fbdev; return 0; free_fb: Loading Loading
drivers/video/bfin_adv7393fb.c +19 −24 Original line number Diff line number Diff line Loading @@ -333,29 +333,23 @@ static int proc_output(char *buf) return p - buf; } static int adv7393_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data) static ssize_t adv7393_read_proc(struct file *file, char __user *buf, size_t size, loff_t *ppos) { int len; len = proc_output(page); if (len <= off + count) *eof = 1; *start = page + off; len -= off; if (len > count) len = count; if (len < 0) len = 0; return len; static const char message[] = "Usage:\n" "echo 0x[REG][Value] > adv7393\n" "example: echo 0x1234 >adv7393\n" "writes 0x34 into Register 0x12\n"; return simple_read_from_buffer(buf, size, ppos, message, sizeof(message)); } static int static ssize_t adv7393_write_proc(struct file *file, const char __user * buffer, size_t count, void *data) size_t count, loff_t *ppos) { struct adv7393fb_device *fbdev = data; struct adv7393fb_device *fbdev = PDE(file_inode(file))->data; unsigned int val; int ret; Loading @@ -368,6 +362,12 @@ adv7393_write_proc(struct file *file, const char __user * buffer, return count; } static const struct file_operations fops = { .read = adv7393_read_proc, .write = adv7393_write_proc, .llseek = default_llseek, }; static int bfin_adv7393_fb_probe(struct i2c_client *client, const struct i2c_device_id *id) { Loading Loading @@ -506,17 +506,12 @@ static int bfin_adv7393_fb_probe(struct i2c_client *client, fbdev->info.node, fbdev->info.fix.id); dev_info(&client->dev, "fb memory address : 0x%p\n", fbdev->fb_mem); entry = create_proc_entry("driver/adv7393", 0, NULL); entry = proc_create_data("driver/adv7393", 0, NULL, &fops, fbdev); if (!entry) { dev_err(&client->dev, "unable to create /proc entry\n"); ret = -EFAULT; goto free_fb; } entry->read_proc = adv7393_read_proc; entry->write_proc = adv7393_write_proc; entry->data = fbdev; return 0; free_fb: Loading