llseek: automatically add .llseek fop
[linux-2.6.git] / arch / powerpc / platforms / pseries / reconfig.c
index 2e2bbe1..1de2cbb 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/kref.h>
 #include <linux/notifier.h>
 #include <linux/proc_fs.h>
+#include <linux/slab.h>
 
 #include <asm/prom.h>
 #include <asm/machdep.h>
@@ -96,7 +97,7 @@ static struct device_node *derive_parent(const char *path)
        return parent;
 }
 
-static BLOCKING_NOTIFIER_HEAD(pSeries_reconfig_chain);
+BLOCKING_NOTIFIER_HEAD(pSeries_reconfig_chain);
 
 int pSeries_reconfig_notifier_register(struct notifier_block *nb)
 {
@@ -117,12 +118,10 @@ static int pSeries_reconfig_add_node(const char *path, struct property *proplist
        if (!np)
                goto out_err;
 
-       np->full_name = kmalloc(strlen(path) + 1, GFP_KERNEL);
+       np->full_name = kstrdup(path, GFP_KERNEL);
        if (!np->full_name)
                goto out_err;
 
-       strcpy(np->full_name, path);
-
        np->properties = proplist;
        of_node_set_flag(np, OF_DYNAMIC);
        kref_init(&np->kref);
@@ -184,7 +183,7 @@ static int pSeries_reconfig_remove_node(struct device_node *np)
 }
 
 /*
- * /proc/ppc64/ofdt - yucky binary interface for adding and removing
+ * /proc/powerpc/ofdt - yucky binary interface for adding and removing
  * OF device nodes.  Should be deprecated as soon as we get an
  * in-kernel wrapper for the RTAS ibm,configure-connector call.
  */
@@ -540,10 +539,11 @@ out:
 }
 
 static const struct file_operations ofdt_fops = {
-       .write = ofdt_write
+       .write = ofdt_write,
+       .llseek = noop_llseek,
 };
 
-/* create /proc/ppc64/ofdt write-only by root */
+/* create /proc/powerpc/ofdt write-only by root */
 static int proc_ppc64_create_ofdt(void)
 {
        struct proc_dir_entry *ent;
@@ -551,7 +551,7 @@ static int proc_ppc64_create_ofdt(void)
        if (!machine_is(pseries))
                return 0;
 
-       ent = proc_create("ppc64/ofdt", S_IWUSR, NULL, &ofdt_fops);
+       ent = proc_create("powerpc/ofdt", S_IWUSR, NULL, &ofdt_fops);
        if (ent)
                ent->size = 0;