]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/platforms/cell/spufs/syscalls.c
Merge branch 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-omap-h63xx.git] / arch / powerpc / platforms / cell / spufs / syscalls.c
index 43f0fb88abbc0812117e44758aec94883a70d31a..c23617c6baf39ed1f4854f1f2ed2fde10ebd8e33 100644 (file)
@@ -58,26 +58,8 @@ out:
        return ret;
 }
 
-#ifndef MODULE
-asmlinkage long sys_spu_run(int fd, __u32 __user *unpc, __u32 __user *ustatus)
-{
-       int fput_needed;
-       struct file *filp;
-       long ret;
-
-       ret = -EBADF;
-       filp = fget_light(fd, &fput_needed);
-       if (filp) {
-               ret = do_spu_run(filp, unpc, ustatus);
-               fput_light(filp, fput_needed);
-       }
-
-       return ret;
-}
-#endif
-
-asmlinkage long do_spu_create(const char __user *pathname, unsigned int flags,
-                               mode_t mode, struct file *neighbor)
+static long do_spu_create(const char __user *pathname, unsigned int flags,
+               mode_t mode, struct file *neighbor)
 {
        char *tmp;
        int ret;
@@ -87,11 +69,11 @@ asmlinkage long do_spu_create(const char __user *pathname, unsigned int flags,
        if (!IS_ERR(tmp)) {
                struct nameidata nd;
 
-               ret = path_lookup(tmp, LOOKUP_PARENT|
-                               LOOKUP_OPEN|LOOKUP_CREATE, &nd);
+               ret = path_lookup(tmp, LOOKUP_PARENT, &nd);
                if (!ret) {
+                       nd.flags |= LOOKUP_OPEN | LOOKUP_CREATE;
                        ret = spufs_create(&nd, flags, mode, neighbor);
-                       path_release(&nd);
+                       path_put(&nd.path);
                }
                putname(tmp);
        }
@@ -99,32 +81,11 @@ asmlinkage long do_spu_create(const char __user *pathname, unsigned int flags,
        return ret;
 }
 
-#ifndef MODULE
-asmlinkage long sys_spu_create(const char __user *pathname, unsigned int flags,
-                               mode_t mode, int neighbor_fd)
-{
-       int fput_needed;
-       struct file *neighbor;
-       long ret;
-
-       if (flags & SPU_CREATE_AFFINITY_SPU) {
-               ret = -EBADF;
-               neighbor = fget_light(neighbor_fd, &fput_needed);
-               if (neighbor) {
-                       ret = do_spu_create(pathname, flags, mode, neighbor);
-                       fput_light(neighbor, fput_needed);
-               }
-       }
-       else {
-               ret = do_spu_create(pathname, flags, mode, NULL);
-       }
-
-       return ret;
-}
-#endif
-
 struct spufs_calls spufs_calls = {
        .create_thread = do_spu_create,
        .spu_run = do_spu_run,
+       .coredump_extra_notes_size = spufs_coredump_extra_notes_size,
+       .coredump_extra_notes_write = spufs_coredump_extra_notes_write,
+       .notify_spus_active = do_notify_spus_active,
        .owner = THIS_MODULE,
 };