Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff9046ac authored by Al Viro's avatar Al Viro
Browse files

bfin_adv7393: switch to proc_create_data()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a69755b1
Loading
Loading
Loading
Loading
+19 −24
Original line number Diff line number Diff line
@@ -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;

@@ -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)
{
@@ -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: