[RFC][PATCH 0/2] debugfs: Allow debugfs_create_dir() to take data from caller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Added missing Subject:
  [RFC][PATCH 0/2] debugfs: Allow debugfs_create_dir() to take data from caller

On Wed, 8 Aug 2012 08:24:31 +0200
Hiroshi Doyu <hdoyu@xxxxxxxxxx> wrote:

> The commit c3b1a35 "debugfs: make sure that debugfs_create_file() gets
> used only for regulars" doesn't allow to use debugfs_create_file() for
> creating directory, and the current debugfs_create_dir() cannot take
> the private data from caller. There are some cases that we want to pass some
> client data to dir, especially when dir is nested deeply. We can work
> around to pass all necessary data with some invented data structure to
> the end files, but if directory itself had private data, we could
> avoid to introduce new structures just to pass data to end files.
> 
> For example, tegra iommu(smmu) case, debugfs structure could be as
> below.
> 
> sys/
> └── kernel
>     └── debug
>         ├── smmu.0
>         │   ├── mc
>         │   │   ├── ptc
>         │   │   └── tlb
>         │   └── mc0
>         │       ├── ptc
>         │       └── tlb
>         └── smmu.1
>             ├── mc
>             │   ├── ptc
>             │   └── tlb
>             ├── mc0
>             │   ├── ptc
>             │   └── tlb
>             └── mc1
>                 ├── ptc
>                 └── tlb
> 
> The end files, {ptc,tlb} depend on which mc? to belong to, and
> which smmu.? to belong to. The parent data can be accessed from those
> end files if necessary.
> 
>   dent = d_find_alias(s->private);
>   cache = (int)dent->d_inode->i_private;
>   mc = (int)dent->d_parent->d_inode->i_private;
>   smmu = dent->d_parent->d_parent->d_inode->i_private;
> 
> The original tegra smmu debugfs patch is:
>   http://lists.linuxfoundation.org/pipermail/iommu/2012-August/004507.html
> 
> Hiroshi Doyu (2):
>   debugfs: Allow debugfs_create_dir() to take data
>   iommu/tegra: smmu: Use __debugfs_create_dir
> 
>  drivers/iommu/tegra-smmu.c |    4 +---
>  fs/debugfs/inode.c         |    7 ++++---
>  include/linux/debugfs.h    |    9 ++++++++-
>  3 files changed, 13 insertions(+), 7 deletions(-)
> 
> --
> 1.7.5.4
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux