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