diff options
Diffstat (limited to 'arch/powerpc/kernel/proc_powerpc.c')
| -rw-r--r-- | arch/powerpc/kernel/proc_powerpc.c | 21 | 
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/powerpc/kernel/proc_powerpc.c b/arch/powerpc/kernel/proc_powerpc.c index c8ae3714e79..feb8580fdc8 100644 --- a/arch/powerpc/kernel/proc_powerpc.c +++ b/arch/powerpc/kernel/proc_powerpc.c @@ -32,8 +32,6 @@  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_path.dentry->d_inode); -  	switch(whence) {  	case 0:  		new = off; @@ -42,12 +40,12 @@ static loff_t page_map_seek( struct file *file, loff_t off, int whence)  		new = file->f_pos + off;  		break;  	case 2: -		new = dp->size + off; +		new = PAGE_SIZE + off;  		break;  	default:  		return -EINVAL;  	} -	if ( new < 0 || new > dp->size ) +	if ( new < 0 || new > PAGE_SIZE )  		return -EINVAL;  	return (file->f_pos = new);  } @@ -55,19 +53,18 @@ 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_path.dentry->d_inode); -	return simple_read_from_buffer(buf, nbytes, ppos, dp->data, dp->size); +	return simple_read_from_buffer(buf, nbytes, ppos, +			PDE_DATA(file_inode(file)), PAGE_SIZE);  }  static int page_map_mmap( struct file *file, struct vm_area_struct *vma )  { -	struct proc_dir_entry *dp = PDE(file->f_path.dentry->d_inode); - -	if ((vma->vm_end - vma->vm_start) > dp->size) +	if ((vma->vm_end - vma->vm_start) > PAGE_SIZE)  		return -EINVAL; -	remap_pfn_range(vma, vma->vm_start, __pa(dp->data) >> PAGE_SHIFT, -						dp->size, vma->vm_page_prot); +	remap_pfn_range(vma, vma->vm_start, +			__pa(PDE_DATA(file_inode(file))) >> PAGE_SHIFT, +			PAGE_SIZE, vma->vm_page_prot);  	return 0;  } @@ -86,7 +83,7 @@ static int __init proc_ppc64_init(void)  			       &page_map_fops, vdso_data);  	if (!pde)  		return 1; -	pde->size = PAGE_SIZE; +	proc_set_size(pde, PAGE_SIZE);  	return 0;  }  |