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

Commit 9fb8ca5c authored by David Howells's avatar David Howells Committed by Al Viro
Browse files

ds1620: Don't use create_proc_read_entry()



Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 788416bc
Loading
Loading
Loading
Loading
+19 −14
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/capability.h>
#include <linux/init.h>
#include <linux/mutex.h>
@@ -329,9 +330,7 @@ ds1620_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
}

#ifdef THERM_USE_PROC
static int
proc_therm_ds1620_read(char *buf, char **start, off_t offset,
		       int len, int *eof, void *unused)
static int ds1620_proc_therm_show(struct seq_file *m, void *v)
{
	struct therm th;
	int temp;
@@ -339,17 +338,25 @@ proc_therm_ds1620_read(char *buf, char **start, off_t offset,
	ds1620_read_state(&th);
	temp =  cvt_9_to_int(ds1620_in(THERM_READ_TEMP, 9));

	len = sprintf(buf, "Thermostat: HI %i.%i, LOW %i.%i; "
		      "temperature: %i.%i C, fan %s\n",
	seq_printf(m, "Thermostat: HI %i.%i, LOW %i.%i; temperature: %i.%i C, fan %s\n",
		   th.hi >> 1, th.hi & 1 ? 5 : 0,
		   th.lo >> 1, th.lo & 1 ? 5 : 0,
		   temp  >> 1, temp  & 1 ? 5 : 0,
		   fan_state[netwinder_get_fan()]);
	return 0;
}

	return len;
static int ds1620_proc_therm_open(struct inode *inode, struct file *file)
{
	return single_open(file, ds1620_proc_therm_show, NULL);
}

static struct proc_dir_entry *proc_therm_ds1620;
static const struct file_operations ds1620_proc_therm_fops = {
	.open		= ds1620_proc_therm_open,
	.read		= seq_read,
	.llseek		= seq_lseek,
	.release	= seq_release,
};
#endif

static const struct file_operations ds1620_fops = {
@@ -397,9 +404,7 @@ static int __init ds1620_init(void)
		return ret;

#ifdef THERM_USE_PROC
	proc_therm_ds1620 = create_proc_read_entry("therm", 0, NULL,
					proc_therm_ds1620_read, NULL);
	if (!proc_therm_ds1620)
	if (!proc_create("therm", 0, NULL, &ds1620_proc_therm_fops))
		printk(KERN_ERR "therm: unable to register /proc/therm\n");
#endif