get rid of a bunch of open-coded create_proc_read_entry()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/arch/arm/kernel/swp_emulate.c b/arch/arm/kernel/swp_emulate.c
index ab1017b..0bba47a 100644
--- a/arch/arm/kernel/swp_emulate.c
+++ b/arch/arm/kernel/swp_emulate.c
@@ -268,12 +268,11 @@
 #ifdef CONFIG_PROC_FS
 	struct proc_dir_entry *res;
 
-	res = create_proc_entry("cpu/swp_emulation", S_IRUGO, NULL);
+	res = create_proc_read_entry("cpu/swp_emulation", S_IRUGO, NULL,
+					proc_read_status, NULL);
 
 	if (!res)
 		return -ENOMEM;
-
-	res->read_proc = proc_read_status;
 #endif /* CONFIG_PROC_FS */
 
 	printk(KERN_NOTICE "Registering SWP/SWPB emulation handler\n");
diff --git a/arch/cris/arch-v10/kernel/fasttimer.c b/arch/cris/arch-v10/kernel/fasttimer.c
index 082f189..52bb9b5 100644
--- a/arch/cris/arch-v10/kernel/fasttimer.c
+++ b/arch/cris/arch-v10/kernel/fasttimer.c
@@ -491,7 +491,6 @@
 #ifdef CONFIG_PROC_FS
 static int proc_fasttimer_read(char *buf, char **start, off_t offset, int len
                        ,int *eof, void *data_unused);
-static struct proc_dir_entry *fasttimer_proc_entry;
 #endif /* CONFIG_PROC_FS */
 
 #ifdef CONFIG_PROC_FS
@@ -857,8 +856,7 @@
     }
 #endif
 #ifdef CONFIG_PROC_FS
-   if ((fasttimer_proc_entry = create_proc_entry( "fasttimer", 0, 0 )))
-     fasttimer_proc_entry->read_proc = proc_fasttimer_read;
+   create_proc_read_entry("fasttimer", 0, NULL, proc_fasttimer_read, NULL);
 #endif /* PROC_FS */
     if(request_irq(TIMER1_IRQ_NBR, timer1_handler, 0,
                    "fast timer int", NULL))
diff --git a/arch/cris/arch-v32/kernel/fasttimer.c b/arch/cris/arch-v32/kernel/fasttimer.c
index ab1551e..dd1c998 100644
--- a/arch/cris/arch-v32/kernel/fasttimer.c
+++ b/arch/cris/arch-v32/kernel/fasttimer.c
@@ -465,7 +465,6 @@
 #ifdef CONFIG_PROC_FS
 static int proc_fasttimer_read(char *buf, char **start, off_t offset, int len
                        ,int *eof, void *data_unused);
-static struct proc_dir_entry *fasttimer_proc_entry;
 #endif /* CONFIG_PROC_FS */
 
 #ifdef CONFIG_PROC_FS
@@ -816,9 +815,7 @@
     printk("fast_timer_init()\n");
 
 #ifdef CONFIG_PROC_FS
-    fasttimer_proc_entry = create_proc_entry("fasttimer", 0, 0);
-    if (fasttimer_proc_entry)
-      fasttimer_proc_entry->read_proc = proc_fasttimer_read;
+    create_proc_read_entry("fasttimer", 0, NULL, proc_fasttimer_read, NULL);
 #endif /* PROC_FS */
 		if (request_irq(TIMER0_INTR_VECT, timer_trig_interrupt,
 				IRQF_SHARED | IRQF_DISABLED,
diff --git a/arch/h8300/kernel/gpio.c b/arch/h8300/kernel/gpio.c
index 6a25dd5..f8a4f5b 100644
--- a/arch/h8300/kernel/gpio.c
+++ b/arch/h8300/kernel/gpio.c
@@ -158,9 +158,8 @@
 {
 	struct proc_dir_entry *proc_gpio;
 
-	proc_gpio = create_proc_entry("gpio", S_IRUGO, NULL);
-	if (proc_gpio) 
-		proc_gpio->read_proc = gpio_proc_read;
+	proc_gpio = create_proc_read_entry("gpio", S_IRUGO, NULL,
+					gpio_proc_read, NULL);
 	return proc_gpio != NULL;
 }
 
diff --git a/drivers/char/ds1620.c b/drivers/char/ds1620.c
index 24ffd8c..b599fae 100644
--- a/drivers/char/ds1620.c
+++ b/drivers/char/ds1620.c
@@ -397,10 +397,9 @@
 		return ret;
 
 #ifdef THERM_USE_PROC
-	proc_therm_ds1620 = create_proc_entry("therm", 0, NULL);
-	if (proc_therm_ds1620)
-		proc_therm_ds1620->read_proc = proc_therm_ds1620_read;
-	else
+	proc_therm_ds1620 = create_proc_read_entry("therm", 0, NULL,
+					proc_therm_ds1620_read, NULL);
+	if (!proc_therm_ds1620)
 		printk(KERN_ERR "therm: unable to register /proc/therm\n");
 #endif
 
diff --git a/drivers/staging/comedi/proc.c b/drivers/staging/comedi/proc.c
index 362c214..f01e0cc 100644
--- a/drivers/staging/comedi/proc.c
+++ b/drivers/staging/comedi/proc.c
@@ -80,11 +80,8 @@
 
 void comedi_proc_init(void)
 {
-	struct proc_dir_entry *comedi_proc;
-
-	comedi_proc = create_proc_entry("comedi", S_IFREG | S_IRUGO, NULL);
-	if (comedi_proc)
-		comedi_proc->read_proc = comedi_read;
+	create_proc_read_entry("comedi", S_IFREG | S_IRUGO, NULL,
+				comedi_read, NULL);
 }
 
 void comedi_proc_cleanup(void)