Commit 6af4ea0b authored by Al Viro's avatar Al Viro

oprofilefs_create_...() do not need superblock argument

same story as with oprofilefs_mkdir()
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ecde2823
...@@ -117,21 +117,21 @@ op_axp_create_files(struct dentry *root) ...@@ -117,21 +117,21 @@ op_axp_create_files(struct dentry *root)
snprintf(buf, sizeof buf, "%d", i); snprintf(buf, sizeof buf, "%d", i);
dir = oprofilefs_mkdir(root, buf); dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled); oprofilefs_create_ulong(dir, "enabled", &ctr[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event); oprofilefs_create_ulong(dir, "event", &ctr[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &ctr[i].count); oprofilefs_create_ulong(dir, "count", &ctr[i].count);
/* Dummies. */ /* Dummies. */
oprofilefs_create_ulong(root->d_sb, dir, "kernel", &ctr[i].kernel); oprofilefs_create_ulong(dir, "kernel", &ctr[i].kernel);
oprofilefs_create_ulong(root->d_sb, dir, "user", &ctr[i].user); oprofilefs_create_ulong(dir, "user", &ctr[i].user);
oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &ctr[i].unit_mask); oprofilefs_create_ulong(dir, "unit_mask", &ctr[i].unit_mask);
} }
if (model->can_set_proc_mode) { if (model->can_set_proc_mode) {
oprofilefs_create_ulong(root->d_sb, root, "enable_pal", oprofilefs_create_ulong(root, "enable_pal",
&sys.enable_pal); &sys.enable_pal);
oprofilefs_create_ulong(root->d_sb, root, "enable_kernel", oprofilefs_create_ulong(root, "enable_kernel",
&sys.enable_kernel); &sys.enable_kernel);
oprofilefs_create_ulong(root->d_sb, root, "enable_user", oprofilefs_create_ulong(root, "enable_user",
&sys.enable_user); &sys.enable_user);
} }
......
...@@ -107,19 +107,19 @@ static int avr32_perf_counter_create_files(struct dentry *root) ...@@ -107,19 +107,19 @@ static int avr32_perf_counter_create_files(struct dentry *root)
snprintf(filename, sizeof(filename), "%u", i); snprintf(filename, sizeof(filename), "%u", i);
dir = oprofilefs_mkdir(root, filename); dir = oprofilefs_mkdir(root, filename);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", oprofilefs_create_ulong(dir, "enabled",
&counter[i].enabled); &counter[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", oprofilefs_create_ulong(dir, "event",
&counter[i].event); &counter[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", oprofilefs_create_ulong(dir, "count",
&counter[i].count); &counter[i].count);
/* Dummy entries */ /* Dummy entries */
oprofilefs_create_ulong(root->d_sb, dir, "kernel", oprofilefs_create_ulong(dir, "kernel",
&counter[i].kernel); &counter[i].kernel);
oprofilefs_create_ulong(root->d_sb, dir, "user", oprofilefs_create_ulong(dir, "user",
&counter[i].user); &counter[i].user);
oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", oprofilefs_create_ulong(dir, "unit_mask",
&counter[i].unit_mask); &counter[i].unit_mask);
} }
......
...@@ -44,14 +44,14 @@ static int op_mips_create_files(struct dentry *root) ...@@ -44,14 +44,14 @@ static int op_mips_create_files(struct dentry *root)
snprintf(buf, sizeof buf, "%d", i); snprintf(buf, sizeof buf, "%d", i);
dir = oprofilefs_mkdir(root, buf); dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled); oprofilefs_create_ulong(dir, "enabled", &ctr[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event); oprofilefs_create_ulong(dir, "event", &ctr[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &ctr[i].count); oprofilefs_create_ulong(dir, "count", &ctr[i].count);
oprofilefs_create_ulong(root->d_sb, dir, "kernel", &ctr[i].kernel); oprofilefs_create_ulong(dir, "kernel", &ctr[i].kernel);
oprofilefs_create_ulong(root->d_sb, dir, "user", &ctr[i].user); oprofilefs_create_ulong(dir, "user", &ctr[i].user);
oprofilefs_create_ulong(root->d_sb, dir, "exl", &ctr[i].exl); oprofilefs_create_ulong(dir, "exl", &ctr[i].exl);
/* Dummy. */ /* Dummy. */
oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &ctr[i].unit_mask); oprofilefs_create_ulong(dir, "unit_mask", &ctr[i].unit_mask);
} }
return 0; return 0;
......
...@@ -128,9 +128,9 @@ static int op_powerpc_create_files(struct dentry *root) ...@@ -128,9 +128,9 @@ static int op_powerpc_create_files(struct dentry *root)
* There is one mmcr0, mmcr1 and mmcra for setting the events for * There is one mmcr0, mmcr1 and mmcra for setting the events for
* all of the counters. * all of the counters.
*/ */
oprofilefs_create_ulong(root->d_sb, root, "mmcr0", &sys.mmcr0); oprofilefs_create_ulong(root, "mmcr0", &sys.mmcr0);
oprofilefs_create_ulong(root->d_sb, root, "mmcr1", &sys.mmcr1); oprofilefs_create_ulong(root, "mmcr1", &sys.mmcr1);
oprofilefs_create_ulong(root->d_sb, root, "mmcra", &sys.mmcra); oprofilefs_create_ulong(root, "mmcra", &sys.mmcra);
#ifdef CONFIG_OPROFILE_CELL #ifdef CONFIG_OPROFILE_CELL
/* create a file the user tool can check to see what level of profiling /* create a file the user tool can check to see what level of profiling
* support exits with this kernel. Initialize bit mask to indicate * support exits with this kernel. Initialize bit mask to indicate
...@@ -142,7 +142,7 @@ static int op_powerpc_create_files(struct dentry *root) ...@@ -142,7 +142,7 @@ static int op_powerpc_create_files(struct dentry *root)
* If the file does not exist, then the kernel only supports SPU * If the file does not exist, then the kernel only supports SPU
* cycle profiling, PPU event and cycle profiling. * cycle profiling, PPU event and cycle profiling.
*/ */
oprofilefs_create_ulong(root->d_sb, root, "cell_support", &sys.cell_support); oprofilefs_create_ulong(root, "cell_support", &sys.cell_support);
sys.cell_support = 0x1; /* Note, the user OProfile tool must check sys.cell_support = 0x1; /* Note, the user OProfile tool must check
* that this bit is set before attempting to * that this bit is set before attempting to
* user SPU event profiling. Older kernels * user SPU event profiling. Older kernels
...@@ -162,9 +162,9 @@ static int op_powerpc_create_files(struct dentry *root) ...@@ -162,9 +162,9 @@ static int op_powerpc_create_files(struct dentry *root)
snprintf(buf, sizeof buf, "%d", i); snprintf(buf, sizeof buf, "%d", i);
dir = oprofilefs_mkdir(root, buf); dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled); oprofilefs_create_ulong(dir, "enabled", &ctr[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event); oprofilefs_create_ulong(dir, "event", &ctr[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &ctr[i].count); oprofilefs_create_ulong(dir, "count", &ctr[i].count);
/* /*
* Classic PowerPC doesn't support per-counter * Classic PowerPC doesn't support per-counter
...@@ -173,14 +173,14 @@ static int op_powerpc_create_files(struct dentry *root) ...@@ -173,14 +173,14 @@ static int op_powerpc_create_files(struct dentry *root)
* Book-E style performance monitors, we do * Book-E style performance monitors, we do
* support them. * support them.
*/ */
oprofilefs_create_ulong(root->d_sb, dir, "kernel", &ctr[i].kernel); oprofilefs_create_ulong(dir, "kernel", &ctr[i].kernel);
oprofilefs_create_ulong(root->d_sb, dir, "user", &ctr[i].user); oprofilefs_create_ulong(dir, "user", &ctr[i].user);
oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &ctr[i].unit_mask); oprofilefs_create_ulong(dir, "unit_mask", &ctr[i].unit_mask);
} }
oprofilefs_create_ulong(root->d_sb, root, "enable_kernel", &sys.enable_kernel); oprofilefs_create_ulong(root, "enable_kernel", &sys.enable_kernel);
oprofilefs_create_ulong(root->d_sb, root, "enable_user", &sys.enable_user); oprofilefs_create_ulong(root, "enable_user", &sys.enable_user);
/* Default to tracing both kernel and user */ /* Default to tracing both kernel and user */
sys.enable_kernel = 1; sys.enable_kernel = 1;
......
...@@ -354,7 +354,7 @@ static int oprofile_create_hwsampling_files(struct dentry *root) ...@@ -354,7 +354,7 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
if (!dir) if (!dir)
return -EINVAL; return -EINVAL;
oprofilefs_create_file(root->d_sb, dir, "enabled", &timer_enabled_fops); oprofilefs_create_file(dir, "enabled", &timer_enabled_fops);
if (!hwsampler_available) if (!hwsampler_available)
return 0; return 0;
...@@ -379,13 +379,13 @@ static int oprofile_create_hwsampling_files(struct dentry *root) ...@@ -379,13 +379,13 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
if (!dir) if (!dir)
return -EINVAL; return -EINVAL;
oprofilefs_create_file(root->d_sb, dir, "enabled", &hwsampler_fops); oprofilefs_create_file(dir, "enabled", &hwsampler_fops);
oprofilefs_create_file(root->d_sb, dir, "event", &zero_fops); oprofilefs_create_file(dir, "event", &zero_fops);
oprofilefs_create_file(root->d_sb, dir, "count", &hw_interval_fops); oprofilefs_create_file(dir, "count", &hw_interval_fops);
oprofilefs_create_file(root->d_sb, dir, "unit_mask", &zero_fops); oprofilefs_create_file(dir, "unit_mask", &zero_fops);
oprofilefs_create_file(root->d_sb, dir, "kernel", &kernel_fops); oprofilefs_create_file(dir, "kernel", &kernel_fops);
oprofilefs_create_file(root->d_sb, dir, "user", &user_fops); oprofilefs_create_file(dir, "user", &user_fops);
oprofilefs_create_ulong(root->d_sb, dir, "hw_sdbt_blocks", oprofilefs_create_ulong(dir, "hw_sdbt_blocks",
&oprofile_sdbt_blocks); &oprofile_sdbt_blocks);
} else { } else {
...@@ -399,15 +399,15 @@ static int oprofile_create_hwsampling_files(struct dentry *root) ...@@ -399,15 +399,15 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
if (!dir) if (!dir)
return -EINVAL; return -EINVAL;
oprofilefs_create_file(root->d_sb, dir, "hwsampler", oprofilefs_create_file(dir, "hwsampler",
&hwsampler_fops); &hwsampler_fops);
oprofilefs_create_file(root->d_sb, dir, "hw_interval", oprofilefs_create_file(dir, "hw_interval",
&hw_interval_fops); &hw_interval_fops);
oprofilefs_create_ro_ulong(root->d_sb, dir, "hw_min_interval", oprofilefs_create_ro_ulong(dir, "hw_min_interval",
&oprofile_min_interval); &oprofile_min_interval);
oprofilefs_create_ro_ulong(root->d_sb, dir, "hw_max_interval", oprofilefs_create_ro_ulong(dir, "hw_max_interval",
&oprofile_max_interval); &oprofile_max_interval);
oprofilefs_create_ulong(root->d_sb, dir, "hw_sdbt_blocks", oprofilefs_create_ulong(dir, "hw_sdbt_blocks",
&oprofile_sdbt_blocks); &oprofile_sdbt_blocks);
} }
return 0; return 0;
......
...@@ -421,13 +421,13 @@ static int nmi_create_files(struct dentry *root) ...@@ -421,13 +421,13 @@ static int nmi_create_files(struct dentry *root)
snprintf(buf, sizeof(buf), "%d", i); snprintf(buf, sizeof(buf), "%d", i);
dir = oprofilefs_mkdir(root, buf); dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &counter_config[i].enabled); oprofilefs_create_ulong(dir, "enabled", &counter_config[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &counter_config[i].event); oprofilefs_create_ulong(dir, "event", &counter_config[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &counter_config[i].count); oprofilefs_create_ulong(dir, "count", &counter_config[i].count);
oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &counter_config[i].unit_mask); oprofilefs_create_ulong(dir, "unit_mask", &counter_config[i].unit_mask);
oprofilefs_create_ulong(root->d_sb, dir, "kernel", &counter_config[i].kernel); oprofilefs_create_ulong(dir, "kernel", &counter_config[i].kernel);
oprofilefs_create_ulong(root->d_sb, dir, "user", &counter_config[i].user); oprofilefs_create_ulong(dir, "user", &counter_config[i].user);
oprofilefs_create_ulong(root->d_sb, dir, "extra", &counter_config[i].extra); oprofilefs_create_ulong(dir, "extra", &counter_config[i].extra);
} }
return 0; return 0;
......
...@@ -480,25 +480,25 @@ static int setup_ibs_files(struct dentry *root) ...@@ -480,25 +480,25 @@ static int setup_ibs_files(struct dentry *root)
if (ibs_caps & IBS_CAPS_FETCHSAM) { if (ibs_caps & IBS_CAPS_FETCHSAM) {
dir = oprofilefs_mkdir(root, "ibs_fetch"); dir = oprofilefs_mkdir(root, "ibs_fetch");
oprofilefs_create_ulong(root->d_sb, dir, "enable", oprofilefs_create_ulong(dir, "enable",
&ibs_config.fetch_enabled); &ibs_config.fetch_enabled);
oprofilefs_create_ulong(root->d_sb, dir, "max_count", oprofilefs_create_ulong(dir, "max_count",
&ibs_config.max_cnt_fetch); &ibs_config.max_cnt_fetch);
oprofilefs_create_ulong(root->d_sb, dir, "rand_enable", oprofilefs_create_ulong(dir, "rand_enable",
&ibs_config.rand_en); &ibs_config.rand_en);
} }
if (ibs_caps & IBS_CAPS_OPSAM) { if (ibs_caps & IBS_CAPS_OPSAM) {
dir = oprofilefs_mkdir(root, "ibs_op"); dir = oprofilefs_mkdir(root, "ibs_op");
oprofilefs_create_ulong(root->d_sb, dir, "enable", oprofilefs_create_ulong(dir, "enable",
&ibs_config.op_enabled); &ibs_config.op_enabled);
oprofilefs_create_ulong(root->d_sb, dir, "max_count", oprofilefs_create_ulong(dir, "max_count",
&ibs_config.max_cnt_op); &ibs_config.max_cnt_op);
if (ibs_caps & IBS_CAPS_OPCNT) if (ibs_caps & IBS_CAPS_OPCNT)
oprofilefs_create_ulong(root->d_sb, dir, "dispatched_ops", oprofilefs_create_ulong(dir, "dispatched_ops",
&ibs_config.dispatched_ops); &ibs_config.dispatched_ops);
if (ibs_caps & IBS_CAPS_BRNTRGT) if (ibs_caps & IBS_CAPS_BRNTRGT)
oprofilefs_create_ulong(root->d_sb, dir, "branch_target", oprofilefs_create_ulong(dir, "branch_target",
&ibs_config.branch_target); &ibs_config.branch_target);
} }
......
...@@ -183,17 +183,17 @@ void oprofile_create_files(struct dentry *root) ...@@ -183,17 +183,17 @@ void oprofile_create_files(struct dentry *root)
oprofile_buffer_watershed = BUFFER_WATERSHED_DEFAULT; oprofile_buffer_watershed = BUFFER_WATERSHED_DEFAULT;
oprofile_time_slice = msecs_to_jiffies(TIME_SLICE_DEFAULT); oprofile_time_slice = msecs_to_jiffies(TIME_SLICE_DEFAULT);
oprofilefs_create_file(root->d_sb, root, "enable", &enable_fops); oprofilefs_create_file(root, "enable", &enable_fops);
oprofilefs_create_file_perm(root->d_sb, root, "dump", &dump_fops, 0666); oprofilefs_create_file_perm(root, "dump", &dump_fops, 0666);
oprofilefs_create_file(root->d_sb, root, "buffer", &event_buffer_fops); oprofilefs_create_file(root, "buffer", &event_buffer_fops);
oprofilefs_create_ulong(root->d_sb, root, "buffer_size", &oprofile_buffer_size); oprofilefs_create_ulong(root, "buffer_size", &oprofile_buffer_size);
oprofilefs_create_ulong(root->d_sb, root, "buffer_watershed", &oprofile_buffer_watershed); oprofilefs_create_ulong(root, "buffer_watershed", &oprofile_buffer_watershed);
oprofilefs_create_ulong(root->d_sb, root, "cpu_buffer_size", &oprofile_cpu_buffer_size); oprofilefs_create_ulong(root, "cpu_buffer_size", &oprofile_cpu_buffer_size);
oprofilefs_create_file(root->d_sb, root, "cpu_type", &cpu_type_fops); oprofilefs_create_file(root, "cpu_type", &cpu_type_fops);
oprofilefs_create_file(root->d_sb, root, "backtrace_depth", &depth_fops); oprofilefs_create_file(root, "backtrace_depth", &depth_fops);
oprofilefs_create_file(root->d_sb, root, "pointer_size", &pointer_size_fops); oprofilefs_create_file(root, "pointer_size", &pointer_size_fops);
#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
oprofilefs_create_file(root->d_sb, root, "time_slice", &timeout_fops); oprofilefs_create_file(root, "time_slice", &timeout_fops);
#endif #endif
oprofile_create_stats_files(root); oprofile_create_stats_files(root);
if (oprofile_ops.create_files) if (oprofile_ops.create_files)
......
...@@ -148,12 +148,12 @@ static int oprofile_perf_create_files(struct dentry *root) ...@@ -148,12 +148,12 @@ static int oprofile_perf_create_files(struct dentry *root)
snprintf(buf, sizeof buf, "%d", i); snprintf(buf, sizeof buf, "%d", i);
dir = oprofilefs_mkdir(root, buf); dir = oprofilefs_mkdir(root, buf);
oprofilefs_create_ulong(root->d_sb, dir, "enabled", &counter_config[i].enabled); oprofilefs_create_ulong(dir, "enabled", &counter_config[i].enabled);
oprofilefs_create_ulong(root->d_sb, dir, "event", &counter_config[i].event); oprofilefs_create_ulong(dir, "event", &counter_config[i].event);
oprofilefs_create_ulong(root->d_sb, dir, "count", &counter_config[i].count); oprofilefs_create_ulong(dir, "count", &counter_config[i].count);
oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &counter_config[i].unit_mask); oprofilefs_create_ulong(dir, "unit_mask", &counter_config[i].unit_mask);
oprofilefs_create_ulong(root->d_sb, dir, "kernel", &counter_config[i].kernel); oprofilefs_create_ulong(dir, "kernel", &counter_config[i].kernel);
oprofilefs_create_ulong(root->d_sb, dir, "user", &counter_config[i].user); oprofilefs_create_ulong(dir, "user", &counter_config[i].user);
} }
return 0; return 0;
......
...@@ -59,26 +59,26 @@ void oprofile_create_stats_files(struct dentry *root) ...@@ -59,26 +59,26 @@ void oprofile_create_stats_files(struct dentry *root)
* but we can't simply lock them, and they are * but we can't simply lock them, and they are
* informational only. * informational only.
*/ */
oprofilefs_create_ro_ulong(root->d_sb, cpudir, "sample_received", oprofilefs_create_ro_ulong(cpudir, "sample_received",
&cpu_buf->sample_received); &cpu_buf->sample_received);
oprofilefs_create_ro_ulong(root->d_sb, cpudir, "sample_lost_overflow", oprofilefs_create_ro_ulong(cpudir, "sample_lost_overflow",
&cpu_buf->sample_lost_overflow); &cpu_buf->sample_lost_overflow);
oprofilefs_create_ro_ulong(root->d_sb, cpudir, "backtrace_aborted", oprofilefs_create_ro_ulong(cpudir, "backtrace_aborted",
&cpu_buf->backtrace_aborted); &cpu_buf->backtrace_aborted);
oprofilefs_create_ro_ulong(root->d_sb, cpudir, "sample_invalid_eip", oprofilefs_create_ro_ulong(cpudir, "sample_invalid_eip",
&cpu_buf->sample_invalid_eip); &cpu_buf->sample_invalid_eip);
} }
oprofilefs_create_ro_atomic(root->d_sb, dir, "sample_lost_no_mm", oprofilefs_create_ro_atomic(dir, "sample_lost_no_mm",
&oprofile_stats.sample_lost_no_mm); &oprofile_stats.sample_lost_no_mm);
oprofilefs_create_ro_atomic(root->d_sb, dir, "sample_lost_no_mapping", oprofilefs_create_ro_atomic(dir, "sample_lost_no_mapping",
&oprofile_stats.sample_lost_no_mapping); &oprofile_stats.sample_lost_no_mapping);
oprofilefs_create_ro_atomic(root->d_sb, dir, "event_lost_overflow", oprofilefs_create_ro_atomic(dir, "event_lost_overflow",
&oprofile_stats.event_lost_overflow); &oprofile_stats.event_lost_overflow);
oprofilefs_create_ro_atomic(root->d_sb, dir, "bt_lost_no_mapping", oprofilefs_create_ro_atomic(dir, "bt_lost_no_mapping",
&oprofile_stats.bt_lost_no_mapping); &oprofile_stats.bt_lost_no_mapping);
#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
oprofilefs_create_ro_atomic(root->d_sb, dir, "multiplex_counter", oprofilefs_create_ro_atomic(dir, "multiplex_counter",
&oprofile_stats.multiplex_counter); &oprofile_stats.multiplex_counter);
#endif #endif
} }
...@@ -132,9 +132,8 @@ static const struct file_operations ulong_ro_fops = { ...@@ -132,9 +132,8 @@ static const struct file_operations ulong_ro_fops = {
}; };
static int __oprofilefs_create_file(struct super_block *sb, static int __oprofilefs_create_file(struct dentry *root, char const *name,
struct dentry *root, char const *name, const struct file_operations *fops, const struct file_operations *fops, int perm, void *priv)
int perm, void *priv)
{ {
struct dentry *dentry; struct dentry *dentry;
struct inode *inode; struct inode *inode;
...@@ -145,7 +144,7 @@ static int __oprofilefs_create_file(struct super_block *sb, ...@@ -145,7 +144,7 @@ static int __oprofilefs_create_file(struct super_block *sb,
mutex_unlock(&root->d_inode->i_mutex); mutex_unlock(&root->d_inode->i_mutex);
return -ENOMEM; return -ENOMEM;
} }
inode = oprofilefs_get_inode(sb, S_IFREG | perm); inode = oprofilefs_get_inode(root->d_sb, S_IFREG | perm);
if (!inode) { if (!inode) {
dput(dentry); dput(dentry);
mutex_unlock(&root->d_inode->i_mutex); mutex_unlock(&root->d_inode->i_mutex);
...@@ -159,18 +158,18 @@ static int __oprofilefs_create_file(struct super_block *sb, ...@@ -159,18 +158,18 @@ static int __oprofilefs_create_file(struct super_block *sb,
} }
int oprofilefs_create_ulong(struct super_block *sb, struct dentry *root, int oprofilefs_create_ulong(struct dentry *root,
char const *name, unsigned long *val) char const *name, unsigned long *val)
{ {
return __oprofilefs_create_file(sb, root, name, return __oprofilefs_create_file(root, name,
&ulong_fops, 0644, val); &ulong_fops, 0644, val);
} }
int oprofilefs_create_ro_ulong(struct super_block *sb, struct dentry *root, int oprofilefs_create_ro_ulong(struct dentry *root,
char const *name, unsigned long *val) char const *name, unsigned long *val)
{ {
return __oprofilefs_create_file(sb, root, name, return __oprofilefs_create_file(root, name,
&ulong_ro_fops, 0444, val); &ulong_ro_fops, 0444, val);
} }
...@@ -189,25 +188,25 @@ static const struct file_operations atomic_ro_fops = { ...@@ -189,25 +188,25 @@ static const struct file_operations atomic_ro_fops = {
}; };
int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *root, int oprofilefs_create_ro_atomic(struct dentry *root,
char const *name, atomic_t *val) char const *name, atomic_t *val)
{ {
return __oprofilefs_create_file(sb, root, name, return __oprofilefs_create_file(root, name,
&atomic_ro_fops, 0444, val); &atomic_ro_fops, 0444, val);
} }
int oprofilefs_create_file(struct super_block *sb, struct dentry *root, int oprofilefs_create_file(struct dentry *root,
char const *name, const struct file_operations *fops) char const *name, const struct file_operations *fops)
{ {
return __oprofilefs_create_file(sb, root, name, fops, 0644, NULL); return __oprofilefs_create_file(root, name, fops, 0644, NULL);
} }
int oprofilefs_create_file_perm(struct super_block *sb, struct dentry *root, int oprofilefs_create_file_perm(struct dentry *root,
char const *name, const struct file_operations *fops, int perm) char const *name, const struct file_operations *fops, int perm)
{ {
return __oprofilefs_create_file(sb, root, name, fops, perm, NULL); return __oprofilefs_create_file(root, name, fops, perm, NULL);
} }
......
...@@ -125,22 +125,22 @@ void oprofile_add_trace(unsigned long eip); ...@@ -125,22 +125,22 @@ void oprofile_add_trace(unsigned long eip);
* Create a file of the given name as a child of the given root, with * Create a file of the given name as a child of the given root, with
* the specified file operations. * the specified file operations.
*/ */
int oprofilefs_create_file(struct super_block * sb, struct dentry * root, int oprofilefs_create_file(struct dentry * root,
char const * name, const struct file_operations * fops); char const * name, const struct file_operations * fops);
int oprofilefs_create_file_perm(struct super_block * sb, struct dentry * root, int oprofilefs_create_file_perm(struct dentry * root,
char const * name, const struct file_operations * fops, int perm); char const * name, const struct file_operations * fops, int perm);
/** Create a file for read/write access to an unsigned long. */ /** Create a file for read/write access to an unsigned long. */
int oprofilefs_create_ulong(struct super_block * sb, struct dentry * root, int oprofilefs_create_ulong(struct dentry * root,
char const * name, ulong * val); char const * name, ulong * val);
/** Create a file for read-only access to an unsigned long. */ /** Create a file for read-only access to an unsigned long. */
int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root, int oprofilefs_create_ro_ulong(struct dentry * root,
char const * name, ulong * val); char const * name, ulong * val);
/** Create a file for read-only access to an atomic_t. */ /** Create a file for read-only access to an atomic_t. */
int oprofilefs_create_ro_atomic(struct super_block * sb, struct dentry * root, int oprofilefs_create_ro_atomic(struct dentry * root,
char const * name, atomic_t * val); char const * name, atomic_t * val);
/** create a directory */ /** create a directory */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment