diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2013-03-31 18:16:14 -0400 | 
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-04-09 14:13:32 -0400 | 
| commit | d9dda78bad879595d8c4220a067fc029d6484a16 (patch) | |
| tree | 376c47ed566b719009e753e917104b150a639b11 /drivers/pci/proc.c | |
| parent | 8510e30b46cd5467b2f930bef68a276dbc2c7d7c (diff) | |
| download | olio-linux-3.10-d9dda78bad879595d8c4220a067fc029d6484a16.tar.xz olio-linux-3.10-d9dda78bad879595d8c4220a067fc029d6484a16.zip  | |
procfs: new helper - PDE_DATA(inode)
The only part of proc_dir_entry the code outside of fs/proc
really cares about is PDE(inode)->data.  Provide a helper
for that; static inline for now, eventually will be moved
to fs/proc, along with the knowledge of struct proc_dir_entry
layout.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/pci/proc.c')
| -rw-r--r-- | drivers/pci/proc.c | 20 | 
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c index 0b009470e6d..12e4fb5824c 100644 --- a/drivers/pci/proc.c +++ b/drivers/pci/proc.c @@ -46,9 +46,7 @@ proc_bus_pci_lseek(struct file *file, loff_t off, int whence)  static ssize_t  proc_bus_pci_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos)  { -	const struct inode *ino = file_inode(file); -	const struct proc_dir_entry *dp = PDE(ino); -	struct pci_dev *dev = dp->data; +	struct pci_dev *dev = PDE_DATA(file_inode(file));  	unsigned int pos = *ppos;  	unsigned int cnt, size; @@ -59,7 +57,7 @@ proc_bus_pci_read(struct file *file, char __user *buf, size_t nbytes, loff_t *pp  	 */  	if (capable(CAP_SYS_ADMIN)) -		size = dp->size; +		size = dev->cfg_size;  	else if (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS)  		size = 128;  	else @@ -133,10 +131,9 @@ static ssize_t  proc_bus_pci_write(struct file *file, const char __user *buf, size_t nbytes, loff_t *ppos)  {  	struct inode *ino = file_inode(file); -	const struct proc_dir_entry *dp = PDE(ino); -	struct pci_dev *dev = dp->data; +	struct pci_dev *dev = PDE_DATA(ino);  	int pos = *ppos; -	int size = dp->size; +	int size = dev->cfg_size;  	int cnt;  	if (pos >= size) @@ -200,7 +197,7 @@ proc_bus_pci_write(struct file *file, const char __user *buf, size_t nbytes, lof  	pci_config_pm_runtime_put(dev);  	*ppos = pos; -	i_size_write(ino, dp->size); +	i_size_write(ino, dev->cfg_size);  	return nbytes;  } @@ -212,8 +209,7 @@ struct pci_filp_private {  static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,  			       unsigned long arg)  { -	const struct proc_dir_entry *dp = PDE(file_inode(file)); -	struct pci_dev *dev = dp->data; +	struct pci_dev *dev = PDE_DATA(file_inode(file));  #ifdef HAVE_PCI_MMAP  	struct pci_filp_private *fpriv = file->private_data;  #endif /* HAVE_PCI_MMAP */ @@ -253,9 +249,7 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,  #ifdef HAVE_PCI_MMAP  static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)  { -	struct inode *inode = file_inode(file); -	const struct proc_dir_entry *dp = PDE(inode); -	struct pci_dev *dev = dp->data; +	struct pci_dev *dev = PDE_DATA(file_inode(file));  	struct pci_filp_private *fpriv = file->private_data;  	int i, ret;  |