Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
[pandora-kernel.git] / arch / powerpc / kernel / proc_ppc64.c
index 7ba42a4..dd7001c 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
 
-#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/proc_fs.h>
 #include <linux/slab.h>
 #include <linux/kernel.h>
 
+#include <asm/machdep.h>
 #include <asm/vdso_datapage.h>
 #include <asm/rtas.h>
 #include <asm/uaccess.h>
@@ -51,7 +51,7 @@ static int __init proc_ppc64_create(void)
        if (!root)
                return 1;
 
-       if (!(platform_is_pseries() || _machine == PLATFORM_CELL))
+       if (!of_find_node_by_path("/rtas"))
                return 0;
 
        if (!proc_mkdir("rtas", root))
@@ -83,7 +83,7 @@ __initcall(proc_ppc64_init);
 static loff_t page_map_seek( struct file *file, loff_t off, int whence)
 {
        loff_t new;
-       struct proc_dir_entry *dp = PDE(file->f_dentry->d_inode);
+       struct proc_dir_entry *dp = PDE(file->f_path.dentry->d_inode);
 
        switch(whence) {
        case 0:
@@ -106,15 +106,13 @@ static loff_t page_map_seek( struct file *file, loff_t off, int whence)
 static ssize_t page_map_read( struct file *file, char __user *buf, size_t nbytes,
                              loff_t *ppos)
 {
-       struct proc_dir_entry *dp = PDE(file->f_dentry->d_inode);
+       struct proc_dir_entry *dp = PDE(file->f_path.dentry->d_inode);
        return simple_read_from_buffer(buf, nbytes, ppos, dp->data, dp->size);
 }
 
 static int page_map_mmap( struct file *file, struct vm_area_struct *vma )
 {
-       struct proc_dir_entry *dp = PDE(file->f_dentry->d_inode);
-
-       vma->vm_flags |= VM_SHM | VM_LOCKED;
+       struct proc_dir_entry *dp = PDE(file->f_path.dentry->d_inode);
 
        if ((vma->vm_end - vma->vm_start) > dp->size)
                return -EINVAL;