diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-17 18:18:19 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-17 18:18:19 -0500 |
| commit | c6b1de1b646fe232206d4065df4d14040cebd613 (patch) | |
| tree | 271b208be1e0e6e026da5979311197fe5a791a11 /drivers | |
| parent | 50652963eae6afe13678dc84d789a174306a4df7 (diff) | |
| parent | e59b4e9187bd5175b9845dc10fedb0879b7efbfd (diff) | |
Merge branch 'debugfs_automount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull debugfs patches from Al Viro:
"debugfs patches, mostly to make it possible for something like tracefs
to be transparently automounted on given directory in debugfs.
New primitive in there is debugfs_create_automount(name, parent, func,
arg), which creates a directory and makes its ->d_automount() return
func(arg). Another missing primitive was debugfs_create_file_size() -
open-coded in quite a few places. Dave's patch adds it and converts
the open-code instances to calling it"
* 'debugfs_automount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
debugfs: Provide a file creation function that also takes an initial size
new primitive: debugfs_create_automount()
debugfs: split end_creating() into success and failure cases
debugfs: take mode-dependent parts of debugfs_get_inode() into callers
fold debugfs_mknod() into callers
fold debugfs_create() into caller
fold debugfs_mkdir() into caller
debugfs_mknod(): get rid useless arguments
fold debugfs_link() into caller
debugfs: kill __create_file()
debugfs: split the beginning and the end of __create_file() off
debugfs_{mkdir,create,link}(): get rid of redundant argument
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/infiniband/hw/cxgb4/device.c | 35 | ||||
| -rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 9 | ||||
| -rw-r--r-- | drivers/scsi/csiostor/csio_init.c | 9 | ||||
| -rw-r--r-- | drivers/usb/gadget/udc/atmel_usba_udc.c | 15 |
4 files changed, 26 insertions, 42 deletions
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index aafdbcd84fc4..8fb295e4a9ab 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c | |||
| @@ -700,37 +700,24 @@ static const struct file_operations ep_debugfs_fops = { | |||
| 700 | 700 | ||
| 701 | static int setup_debugfs(struct c4iw_dev *devp) | 701 | static int setup_debugfs(struct c4iw_dev *devp) |
| 702 | { | 702 | { |
| 703 | struct dentry *de; | ||
| 704 | |||
| 705 | if (!devp->debugfs_root) | 703 | if (!devp->debugfs_root) |
| 706 | return -1; | 704 | return -1; |
| 707 | 705 | ||
| 708 | de = debugfs_create_file("qps", S_IWUSR, devp->debugfs_root, | 706 | debugfs_create_file_size("qps", S_IWUSR, devp->debugfs_root, |
| 709 | (void *)devp, &qp_debugfs_fops); | 707 | (void *)devp, &qp_debugfs_fops, 4096); |
| 710 | if (de && de->d_inode) | ||
| 711 | de->d_inode->i_size = 4096; | ||
| 712 | 708 | ||
| 713 | de = debugfs_create_file("stags", S_IWUSR, devp->debugfs_root, | 709 | debugfs_create_file_size("stags", S_IWUSR, devp->debugfs_root, |
| 714 | (void *)devp, &stag_debugfs_fops); | 710 | (void *)devp, &stag_debugfs_fops, 4096); |
| 715 | if (de && de->d_inode) | ||
| 716 | de->d_inode->i_size = 4096; | ||
| 717 | 711 | ||
| 718 | de = debugfs_create_file("stats", S_IWUSR, devp->debugfs_root, | 712 | debugfs_create_file_size("stats", S_IWUSR, devp->debugfs_root, |
| 719 | (void *)devp, &stats_debugfs_fops); | 713 | (void *)devp, &stats_debugfs_fops, 4096); |
| 720 | if (de && de->d_inode) | ||
| 721 | de->d_inode->i_size = 4096; | ||
| 722 | 714 | ||
| 723 | de = debugfs_create_file("eps", S_IWUSR, devp->debugfs_root, | 715 | debugfs_create_file_size("eps", S_IWUSR, devp->debugfs_root, |
| 724 | (void *)devp, &ep_debugfs_fops); | 716 | (void *)devp, &ep_debugfs_fops, 4096); |
| 725 | if (de && de->d_inode) | ||
| 726 | de->d_inode->i_size = 4096; | ||
| 727 | 717 | ||
| 728 | if (c4iw_wr_log) { | 718 | if (c4iw_wr_log) |
| 729 | de = debugfs_create_file("wr_log", S_IWUSR, devp->debugfs_root, | 719 | debugfs_create_file_size("wr_log", S_IWUSR, devp->debugfs_root, |
| 730 | (void *)devp, &wr_log_debugfs_fops); | 720 | (void *)devp, &wr_log_debugfs_fops, 4096); |
| 731 | if (de && de->d_inode) | ||
| 732 | de->d_inode->i_size = 4096; | ||
| 733 | } | ||
| 734 | return 0; | 721 | return 0; |
| 735 | } | 722 | } |
| 736 | 723 | ||
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c index d221f6b28fcd..78854ceb0870 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | |||
| @@ -1950,12 +1950,9 @@ static void set_debugfs_file_size(struct dentry *de, loff_t size) | |||
| 1950 | static void add_debugfs_mem(struct adapter *adap, const char *name, | 1950 | static void add_debugfs_mem(struct adapter *adap, const char *name, |
| 1951 | unsigned int idx, unsigned int size_mb) | 1951 | unsigned int idx, unsigned int size_mb) |
| 1952 | { | 1952 | { |
| 1953 | struct dentry *de; | 1953 | debugfs_create_file_size(name, S_IRUSR, adap->debugfs_root, |
| 1954 | 1954 | (void *)adap + idx, &mem_debugfs_fops, | |
| 1955 | de = debugfs_create_file(name, S_IRUSR, adap->debugfs_root, | 1955 | size_mb << 20); |
| 1956 | (void *)adap + idx, &mem_debugfs_fops); | ||
| 1957 | if (de && de->d_inode) | ||
| 1958 | de->d_inode->i_size = size_mb << 20; | ||
| 1959 | } | 1956 | } |
| 1960 | 1957 | ||
| 1961 | /* Add an array of Debug FS files. | 1958 | /* Add an array of Debug FS files. |
diff --git a/drivers/scsi/csiostor/csio_init.c b/drivers/scsi/csiostor/csio_init.c index 9b9794d42ffe..d9631e15f7b5 100644 --- a/drivers/scsi/csiostor/csio_init.c +++ b/drivers/scsi/csiostor/csio_init.c | |||
| @@ -113,12 +113,9 @@ static const struct file_operations csio_mem_debugfs_fops = { | |||
| 113 | void csio_add_debugfs_mem(struct csio_hw *hw, const char *name, | 113 | void csio_add_debugfs_mem(struct csio_hw *hw, const char *name, |
| 114 | unsigned int idx, unsigned int size_mb) | 114 | unsigned int idx, unsigned int size_mb) |
| 115 | { | 115 | { |
| 116 | struct dentry *de; | 116 | debugfs_create_file_size(name, S_IRUSR, hw->debugfs_root, |
| 117 | 117 | (void *)hw + idx, &csio_mem_debugfs_fops, | |
| 118 | de = debugfs_create_file(name, S_IRUSR, hw->debugfs_root, | 118 | size_mb << 20); |
| 119 | (void *)hw + idx, &csio_mem_debugfs_fops); | ||
| 120 | if (de && de->d_inode) | ||
| 121 | de->d_inode->i_size = size_mb << 20; | ||
| 122 | } | 119 | } |
| 123 | 120 | ||
| 124 | static int csio_setup_debugfs(struct csio_hw *hw) | 121 | static int csio_setup_debugfs(struct csio_hw *hw) |
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c index c0410862c2a1..d79cb35dbf8a 100644 --- a/drivers/usb/gadget/udc/atmel_usba_udc.c +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c | |||
| @@ -265,14 +265,17 @@ static void usba_init_debugfs(struct usba_udc *udc) | |||
| 265 | goto err_root; | 265 | goto err_root; |
| 266 | udc->debugfs_root = root; | 266 | udc->debugfs_root = root; |
| 267 | 267 | ||
| 268 | regs = debugfs_create_file("regs", 0400, root, udc, ®s_dbg_fops); | ||
| 269 | if (!regs) | ||
| 270 | goto err_regs; | ||
| 271 | |||
| 272 | regs_resource = platform_get_resource(udc->pdev, IORESOURCE_MEM, | 268 | regs_resource = platform_get_resource(udc->pdev, IORESOURCE_MEM, |
| 273 | CTRL_IOMEM_ID); | 269 | CTRL_IOMEM_ID); |
| 274 | regs->d_inode->i_size = resource_size(regs_resource); | 270 | |
| 275 | udc->debugfs_regs = regs; | 271 | if (regs_resource) { |
| 272 | regs = debugfs_create_file_size("regs", 0400, root, udc, | ||
| 273 | ®s_dbg_fops, | ||
| 274 | resource_size(regs_resource)); | ||
| 275 | if (!regs) | ||
| 276 | goto err_regs; | ||
| 277 | udc->debugfs_regs = regs; | ||
| 278 | } | ||
| 276 | 279 | ||
| 277 | usba_ep_init_debugfs(udc, to_usba_ep(udc->gadget.ep0)); | 280 | usba_ep_init_debugfs(udc, to_usba_ep(udc->gadget.ep0)); |
| 278 | 281 | ||
