aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-07-19 08:10:36 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-09-03 22:52:48 -0400
commit6af4ea0ba708172be8caf1ba5047b2b8a9d2fea3 (patch)
treeb52fe5f7e6a811184f2379bc6bab3d4b6d2e6520
parentecde28237e10de3750a97579f42bc2ec65b8a0e1 (diff)
oprofilefs_create_...() do not need superblock argument
same story as with oprofilefs_mkdir() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--arch/alpha/oprofile/common.c18
-rw-r--r--arch/avr32/oprofile/op_model_avr32.c12
-rw-r--r--arch/mips/oprofile/common.c14
-rw-r--r--arch/powerpc/oprofile/common.c24
-rw-r--r--arch/s390/oprofile/init.c26
-rw-r--r--arch/x86/oprofile/nmi_int.c14
-rw-r--r--arch/x86/oprofile/op_model_amd.c14
-rw-r--r--drivers/oprofile/oprofile_files.c20
-rw-r--r--drivers/oprofile/oprofile_perf.c12
-rw-r--r--drivers/oprofile/oprofile_stats.c18
-rw-r--r--drivers/oprofile/oprofilefs.c27
-rw-r--r--include/linux/oprofile.h10
12 files changed, 104 insertions, 105 deletions
diff --git a/arch/alpha/oprofile/common.c b/arch/alpha/oprofile/common.c
index a44608b697ac..310a4ce1dccc 100644
--- a/arch/alpha/oprofile/common.c
+++ b/arch/alpha/oprofile/common.c
@@ -117,21 +117,21 @@ op_axp_create_files(struct dentry *root)
117 snprintf(buf, sizeof buf, "%d", i); 117 snprintf(buf, sizeof buf, "%d", i);
118 dir = oprofilefs_mkdir(root, buf); 118 dir = oprofilefs_mkdir(root, buf);
119 119
120 oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled); 120 oprofilefs_create_ulong(dir, "enabled", &ctr[i].enabled);
121 oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event); 121 oprofilefs_create_ulong(dir, "event", &ctr[i].event);
122 oprofilefs_create_ulong(root->d_sb, dir, "count", &ctr[i].count); 122 oprofilefs_create_ulong(dir, "count", &ctr[i].count);
123 /* Dummies. */ 123 /* Dummies. */
124 oprofilefs_create_ulong(root->d_sb, dir, "kernel", &ctr[i].kernel); 124 oprofilefs_create_ulong(dir, "kernel", &ctr[i].kernel);
125 oprofilefs_create_ulong(root->d_sb, dir, "user", &ctr[i].user); 125 oprofilefs_create_ulong(dir, "user", &ctr[i].user);
126 oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &ctr[i].unit_mask); 126 oprofilefs_create_ulong(dir, "unit_mask", &ctr[i].unit_mask);
127 } 127 }
128 128
129 if (model->can_set_proc_mode) { 129 if (model->can_set_proc_mode) {
130 oprofilefs_create_ulong(root->d_sb, root, "enable_pal", 130 oprofilefs_create_ulong(root, "enable_pal",
131 &sys.enable_pal); 131 &sys.enable_pal);
132 oprofilefs_create_ulong(root->d_sb, root, "enable_kernel", 132 oprofilefs_create_ulong(root, "enable_kernel",
133 &sys.enable_kernel); 133 &sys.enable_kernel);
134 oprofilefs_create_ulong(root->d_sb, root, "enable_user", 134 oprofilefs_create_ulong(root, "enable_user",
135 &sys.enable_user); 135 &sys.enable_user);
136 } 136 }
137 137
diff --git a/arch/avr32/oprofile/op_model_avr32.c b/arch/avr32/oprofile/op_model_avr32.c
index 7d920a41b441..08308be2c02c 100644
--- a/arch/avr32/oprofile/op_model_avr32.c
+++ b/arch/avr32/oprofile/op_model_avr32.c
@@ -107,19 +107,19 @@ static int avr32_perf_counter_create_files(struct dentry *root)
107 snprintf(filename, sizeof(filename), "%u", i); 107 snprintf(filename, sizeof(filename), "%u", i);
108 dir = oprofilefs_mkdir(root, filename); 108 dir = oprofilefs_mkdir(root, filename);
109 109
110 oprofilefs_create_ulong(root->d_sb, dir, "enabled", 110 oprofilefs_create_ulong(dir, "enabled",
111 &counter[i].enabled); 111 &counter[i].enabled);
112 oprofilefs_create_ulong(root->d_sb, dir, "event", 112 oprofilefs_create_ulong(dir, "event",
113 &counter[i].event); 113 &counter[i].event);
114 oprofilefs_create_ulong(root->d_sb, dir, "count", 114 oprofilefs_create_ulong(dir, "count",
115 &counter[i].count); 115 &counter[i].count);
116 116
117 /* Dummy entries */ 117 /* Dummy entries */
118 oprofilefs_create_ulong(root->d_sb, dir, "kernel", 118 oprofilefs_create_ulong(dir, "kernel",
119 &counter[i].kernel); 119 &counter[i].kernel);
120 oprofilefs_create_ulong(root->d_sb, dir, "user", 120 oprofilefs_create_ulong(dir, "user",
121 &counter[i].user); 121 &counter[i].user);
122 oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", 122 oprofilefs_create_ulong(dir, "unit_mask",
123 &counter[i].unit_mask); 123 &counter[i].unit_mask);
124 } 124 }
125 125
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c
index 755caf04656e..5e5424753b56 100644
--- a/arch/mips/oprofile/common.c
+++ b/arch/mips/oprofile/common.c
@@ -44,14 +44,14 @@ static int op_mips_create_files(struct dentry *root)
44 snprintf(buf, sizeof buf, "%d", i); 44 snprintf(buf, sizeof buf, "%d", i);
45 dir = oprofilefs_mkdir(root, buf); 45 dir = oprofilefs_mkdir(root, buf);
46 46
47 oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled); 47 oprofilefs_create_ulong(dir, "enabled", &ctr[i].enabled);
48 oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event); 48 oprofilefs_create_ulong(dir, "event", &ctr[i].event);
49 oprofilefs_create_ulong(root->d_sb, dir, "count", &ctr[i].count); 49 oprofilefs_create_ulong(dir, "count", &ctr[i].count);
50 oprofilefs_create_ulong(root->d_sb, dir, "kernel", &ctr[i].kernel); 50 oprofilefs_create_ulong(dir, "kernel", &ctr[i].kernel);
51 oprofilefs_create_ulong(root->d_sb, dir, "user", &ctr[i].user); 51 oprofilefs_create_ulong(dir, "user", &ctr[i].user);
52 oprofilefs_create_ulong(root->d_sb, dir, "exl", &ctr[i].exl); 52 oprofilefs_create_ulong(dir, "exl", &ctr[i].exl);
53 /* Dummy. */ 53 /* Dummy. */
54 oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &ctr[i].unit_mask); 54 oprofilefs_create_ulong(dir, "unit_mask", &ctr[i].unit_mask);
55 } 55 }
56 56
57 return 0; 57 return 0;
diff --git a/arch/powerpc/oprofile/common.c b/arch/powerpc/oprofile/common.c
index 60a286b367fc..c77348c5d463 100644
--- a/arch/powerpc/oprofile/common.c
+++ b/arch/powerpc/oprofile/common.c
@@ -128,9 +128,9 @@ static int op_powerpc_create_files(struct dentry *root)
128 * There is one mmcr0, mmcr1 and mmcra for setting the events for 128 * There is one mmcr0, mmcr1 and mmcra for setting the events for
129 * all of the counters. 129 * all of the counters.
130 */ 130 */
131 oprofilefs_create_ulong(root->d_sb, root, "mmcr0", &sys.mmcr0); 131 oprofilefs_create_ulong(root, "mmcr0", &sys.mmcr0);
132 oprofilefs_create_ulong(root->d_sb, root, "mmcr1", &sys.mmcr1); 132 oprofilefs_create_ulong(root, "mmcr1", &sys.mmcr1);
133 oprofilefs_create_ulong(root->d_sb, root, "mmcra", &sys.mmcra); 133 oprofilefs_create_ulong(root, "mmcra", &sys.mmcra);
134#ifdef CONFIG_OPROFILE_CELL 134#ifdef CONFIG_OPROFILE_CELL
135 /* create a file the user tool can check to see what level of profiling 135 /* create a file the user tool can check to see what level of profiling
136 * support exits with this kernel. Initialize bit mask to indicate 136 * support exits with this kernel. Initialize bit mask to indicate
@@ -142,7 +142,7 @@ static int op_powerpc_create_files(struct dentry *root)
142 * If the file does not exist, then the kernel only supports SPU 142 * If the file does not exist, then the kernel only supports SPU
143 * cycle profiling, PPU event and cycle profiling. 143 * cycle profiling, PPU event and cycle profiling.
144 */ 144 */
145 oprofilefs_create_ulong(root->d_sb, root, "cell_support", &sys.cell_support); 145 oprofilefs_create_ulong(root, "cell_support", &sys.cell_support);
146 sys.cell_support = 0x1; /* Note, the user OProfile tool must check 146 sys.cell_support = 0x1; /* Note, the user OProfile tool must check
147 * that this bit is set before attempting to 147 * that this bit is set before attempting to
148 * user SPU event profiling. Older kernels 148 * user SPU event profiling. Older kernels
@@ -162,9 +162,9 @@ static int op_powerpc_create_files(struct dentry *root)
162 snprintf(buf, sizeof buf, "%d", i); 162 snprintf(buf, sizeof buf, "%d", i);
163 dir = oprofilefs_mkdir(root, buf); 163 dir = oprofilefs_mkdir(root, buf);
164 164
165 oprofilefs_create_ulong(root->d_sb, dir, "enabled", &ctr[i].enabled); 165 oprofilefs_create_ulong(dir, "enabled", &ctr[i].enabled);
166 oprofilefs_create_ulong(root->d_sb, dir, "event", &ctr[i].event); 166 oprofilefs_create_ulong(dir, "event", &ctr[i].event);
167 oprofilefs_create_ulong(root->d_sb, dir, "count", &ctr[i].count); 167 oprofilefs_create_ulong(dir, "count", &ctr[i].count);
168 168
169 /* 169 /*
170 * Classic PowerPC doesn't support per-counter 170 * Classic PowerPC doesn't support per-counter
@@ -173,14 +173,14 @@ static int op_powerpc_create_files(struct dentry *root)
173 * Book-E style performance monitors, we do 173 * Book-E style performance monitors, we do
174 * support them. 174 * support them.
175 */ 175 */
176 oprofilefs_create_ulong(root->d_sb, dir, "kernel", &ctr[i].kernel); 176 oprofilefs_create_ulong(dir, "kernel", &ctr[i].kernel);
177 oprofilefs_create_ulong(root->d_sb, dir, "user", &ctr[i].user); 177 oprofilefs_create_ulong(dir, "user", &ctr[i].user);
178 178
179 oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &ctr[i].unit_mask); 179 oprofilefs_create_ulong(dir, "unit_mask", &ctr[i].unit_mask);
180 } 180 }
181 181
182 oprofilefs_create_ulong(root->d_sb, root, "enable_kernel", &sys.enable_kernel); 182 oprofilefs_create_ulong(root, "enable_kernel", &sys.enable_kernel);
183 oprofilefs_create_ulong(root->d_sb, root, "enable_user", &sys.enable_user); 183 oprofilefs_create_ulong(root, "enable_user", &sys.enable_user);
184 184
185 /* Default to tracing both kernel and user */ 185 /* Default to tracing both kernel and user */
186 sys.enable_kernel = 1; 186 sys.enable_kernel = 1;
diff --git a/arch/s390/oprofile/init.c b/arch/s390/oprofile/init.c
index 5ae06db7ec58..04e1b6a85362 100644
--- a/arch/s390/oprofile/init.c
+++ b/arch/s390/oprofile/init.c
@@ -354,7 +354,7 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
354 if (!dir) 354 if (!dir)
355 return -EINVAL; 355 return -EINVAL;
356 356
357 oprofilefs_create_file(root->d_sb, dir, "enabled", &timer_enabled_fops); 357 oprofilefs_create_file(dir, "enabled", &timer_enabled_fops);
358 358
359 if (!hwsampler_available) 359 if (!hwsampler_available)
360 return 0; 360 return 0;
@@ -379,13 +379,13 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
379 if (!dir) 379 if (!dir)
380 return -EINVAL; 380 return -EINVAL;
381 381
382 oprofilefs_create_file(root->d_sb, dir, "enabled", &hwsampler_fops); 382 oprofilefs_create_file(dir, "enabled", &hwsampler_fops);
383 oprofilefs_create_file(root->d_sb, dir, "event", &zero_fops); 383 oprofilefs_create_file(dir, "event", &zero_fops);
384 oprofilefs_create_file(root->d_sb, dir, "count", &hw_interval_fops); 384 oprofilefs_create_file(dir, "count", &hw_interval_fops);
385 oprofilefs_create_file(root->d_sb, dir, "unit_mask", &zero_fops); 385 oprofilefs_create_file(dir, "unit_mask", &zero_fops);
386 oprofilefs_create_file(root->d_sb, dir, "kernel", &kernel_fops); 386 oprofilefs_create_file(dir, "kernel", &kernel_fops);
387 oprofilefs_create_file(root->d_sb, dir, "user", &user_fops); 387 oprofilefs_create_file(dir, "user", &user_fops);
388 oprofilefs_create_ulong(root->d_sb, dir, "hw_sdbt_blocks", 388 oprofilefs_create_ulong(dir, "hw_sdbt_blocks",
389 &oprofile_sdbt_blocks); 389 &oprofile_sdbt_blocks);
390 390
391 } else { 391 } else {
@@ -399,15 +399,15 @@ static int oprofile_create_hwsampling_files(struct dentry *root)
399 if (!dir) 399 if (!dir)
400 return -EINVAL; 400 return -EINVAL;
401 401
402 oprofilefs_create_file(root->d_sb, dir, "hwsampler", 402 oprofilefs_create_file(dir, "hwsampler",
403 &hwsampler_fops); 403 &hwsampler_fops);
404 oprofilefs_create_file(root->d_sb, dir, "hw_interval", 404 oprofilefs_create_file(dir, "hw_interval",
405 &hw_interval_fops); 405 &hw_interval_fops);
406 oprofilefs_create_ro_ulong(root->d_sb, dir, "hw_min_interval", 406 oprofilefs_create_ro_ulong(dir, "hw_min_interval",
407 &oprofile_min_interval); 407 &oprofile_min_interval);
408 oprofilefs_create_ro_ulong(root->d_sb, dir, "hw_max_interval", 408 oprofilefs_create_ro_ulong(dir, "hw_max_interval",
409 &oprofile_max_interval); 409 &oprofile_max_interval);
410 oprofilefs_create_ulong(root->d_sb, dir, "hw_sdbt_blocks", 410 oprofilefs_create_ulong(dir, "hw_sdbt_blocks",
411 &oprofile_sdbt_blocks); 411 &oprofile_sdbt_blocks);
412 } 412 }
413 return 0; 413 return 0;
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index 8bb2de6e103c..6890d8498e0b 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -421,13 +421,13 @@ static int nmi_create_files(struct dentry *root)
421 421
422 snprintf(buf, sizeof(buf), "%d", i); 422 snprintf(buf, sizeof(buf), "%d", i);
423 dir = oprofilefs_mkdir(root, buf); 423 dir = oprofilefs_mkdir(root, buf);
424 oprofilefs_create_ulong(root->d_sb, dir, "enabled", &counter_config[i].enabled); 424 oprofilefs_create_ulong(dir, "enabled", &counter_config[i].enabled);
425 oprofilefs_create_ulong(root->d_sb, dir, "event", &counter_config[i].event); 425 oprofilefs_create_ulong(dir, "event", &counter_config[i].event);
426 oprofilefs_create_ulong(root->d_sb, dir, "count", &counter_config[i].count); 426 oprofilefs_create_ulong(dir, "count", &counter_config[i].count);
427 oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &counter_config[i].unit_mask); 427 oprofilefs_create_ulong(dir, "unit_mask", &counter_config[i].unit_mask);
428 oprofilefs_create_ulong(root->d_sb, dir, "kernel", &counter_config[i].kernel); 428 oprofilefs_create_ulong(dir, "kernel", &counter_config[i].kernel);
429 oprofilefs_create_ulong(root->d_sb, dir, "user", &counter_config[i].user); 429 oprofilefs_create_ulong(dir, "user", &counter_config[i].user);
430 oprofilefs_create_ulong(root->d_sb, dir, "extra", &counter_config[i].extra); 430 oprofilefs_create_ulong(dir, "extra", &counter_config[i].extra);
431 } 431 }
432 432
433 return 0; 433 return 0;
diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c
index 99131435ea32..50d86c0e9ba4 100644
--- a/arch/x86/oprofile/op_model_amd.c
+++ b/arch/x86/oprofile/op_model_amd.c
@@ -480,25 +480,25 @@ static int setup_ibs_files(struct dentry *root)
480 480
481 if (ibs_caps & IBS_CAPS_FETCHSAM) { 481 if (ibs_caps & IBS_CAPS_FETCHSAM) {
482 dir = oprofilefs_mkdir(root, "ibs_fetch"); 482 dir = oprofilefs_mkdir(root, "ibs_fetch");
483 oprofilefs_create_ulong(root->d_sb, dir, "enable", 483 oprofilefs_create_ulong(dir, "enable",
484 &ibs_config.fetch_enabled); 484 &ibs_config.fetch_enabled);
485 oprofilefs_create_ulong(root->d_sb, dir, "max_count", 485 oprofilefs_create_ulong(dir, "max_count",
486 &ibs_config.max_cnt_fetch); 486 &ibs_config.max_cnt_fetch);
487 oprofilefs_create_ulong(root->d_sb, dir, "rand_enable", 487 oprofilefs_create_ulong(dir, "rand_enable",
488 &ibs_config.rand_en); 488 &ibs_config.rand_en);
489 } 489 }
490 490
491 if (ibs_caps & IBS_CAPS_OPSAM) { 491 if (ibs_caps & IBS_CAPS_OPSAM) {
492 dir = oprofilefs_mkdir(root, "ibs_op"); 492 dir = oprofilefs_mkdir(root, "ibs_op");
493 oprofilefs_create_ulong(root->d_sb, dir, "enable", 493 oprofilefs_create_ulong(dir, "enable",
494 &ibs_config.op_enabled); 494 &ibs_config.op_enabled);
495 oprofilefs_create_ulong(root->d_sb, dir, "max_count", 495 oprofilefs_create_ulong(dir, "max_count",
496 &ibs_config.max_cnt_op); 496 &ibs_config.max_cnt_op);
497 if (ibs_caps & IBS_CAPS_OPCNT) 497 if (ibs_caps & IBS_CAPS_OPCNT)
498 oprofilefs_create_ulong(root->d_sb, dir, "dispatched_ops", 498 oprofilefs_create_ulong(dir, "dispatched_ops",
499 &ibs_config.dispatched_ops); 499 &ibs_config.dispatched_ops);
500 if (ibs_caps & IBS_CAPS_BRNTRGT) 500 if (ibs_caps & IBS_CAPS_BRNTRGT)
501 oprofilefs_create_ulong(root->d_sb, dir, "branch_target", 501 oprofilefs_create_ulong(dir, "branch_target",
502 &ibs_config.branch_target); 502 &ibs_config.branch_target);
503 } 503 }
504 504
diff --git a/drivers/oprofile/oprofile_files.c b/drivers/oprofile/oprofile_files.c
index 07462a9af615..ee2cfce358b9 100644
--- a/drivers/oprofile/oprofile_files.c
+++ b/drivers/oprofile/oprofile_files.c
@@ -183,17 +183,17 @@ void oprofile_create_files(struct dentry *root)
183 oprofile_buffer_watershed = BUFFER_WATERSHED_DEFAULT; 183 oprofile_buffer_watershed = BUFFER_WATERSHED_DEFAULT;
184 oprofile_time_slice = msecs_to_jiffies(TIME_SLICE_DEFAULT); 184 oprofile_time_slice = msecs_to_jiffies(TIME_SLICE_DEFAULT);
185 185
186 oprofilefs_create_file(root->d_sb, root, "enable", &enable_fops); 186 oprofilefs_create_file(root, "enable", &enable_fops);
187 oprofilefs_create_file_perm(root->d_sb, root, "dump", &dump_fops, 0666); 187 oprofilefs_create_file_perm(root, "dump", &dump_fops, 0666);
188 oprofilefs_create_file(root->d_sb, root, "buffer", &event_buffer_fops); 188 oprofilefs_create_file(root, "buffer", &event_buffer_fops);
189 oprofilefs_create_ulong(root->d_sb, root, "buffer_size", &oprofile_buffer_size); 189 oprofilefs_create_ulong(root, "buffer_size", &oprofile_buffer_size);
190 oprofilefs_create_ulong(root->d_sb, root, "buffer_watershed", &oprofile_buffer_watershed); 190 oprofilefs_create_ulong(root, "buffer_watershed", &oprofile_buffer_watershed);
191 oprofilefs_create_ulong(root->d_sb, root, "cpu_buffer_size", &oprofile_cpu_buffer_size); 191 oprofilefs_create_ulong(root, "cpu_buffer_size", &oprofile_cpu_buffer_size);
192 oprofilefs_create_file(root->d_sb, root, "cpu_type", &cpu_type_fops); 192 oprofilefs_create_file(root, "cpu_type", &cpu_type_fops);
193 oprofilefs_create_file(root->d_sb, root, "backtrace_depth", &depth_fops); 193 oprofilefs_create_file(root, "backtrace_depth", &depth_fops);
194 oprofilefs_create_file(root->d_sb, root, "pointer_size", &pointer_size_fops); 194 oprofilefs_create_file(root, "pointer_size", &pointer_size_fops);
195#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX 195#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
196 oprofilefs_create_file(root->d_sb, root, "time_slice", &timeout_fops); 196 oprofilefs_create_file(root, "time_slice", &timeout_fops);
197#endif 197#endif
198 oprofile_create_stats_files(root); 198 oprofile_create_stats_files(root);
199 if (oprofile_ops.create_files) 199 if (oprofile_ops.create_files)
diff --git a/drivers/oprofile/oprofile_perf.c b/drivers/oprofile/oprofile_perf.c
index 923a245774fa..d5b2732b1b81 100644
--- a/drivers/oprofile/oprofile_perf.c
+++ b/drivers/oprofile/oprofile_perf.c
@@ -148,12 +148,12 @@ static int oprofile_perf_create_files(struct dentry *root)
148 148
149 snprintf(buf, sizeof buf, "%d", i); 149 snprintf(buf, sizeof buf, "%d", i);
150 dir = oprofilefs_mkdir(root, buf); 150 dir = oprofilefs_mkdir(root, buf);
151 oprofilefs_create_ulong(root->d_sb, dir, "enabled", &counter_config[i].enabled); 151 oprofilefs_create_ulong(dir, "enabled", &counter_config[i].enabled);
152 oprofilefs_create_ulong(root->d_sb, dir, "event", &counter_config[i].event); 152 oprofilefs_create_ulong(dir, "event", &counter_config[i].event);
153 oprofilefs_create_ulong(root->d_sb, dir, "count", &counter_config[i].count); 153 oprofilefs_create_ulong(dir, "count", &counter_config[i].count);
154 oprofilefs_create_ulong(root->d_sb, dir, "unit_mask", &counter_config[i].unit_mask); 154 oprofilefs_create_ulong(dir, "unit_mask", &counter_config[i].unit_mask);
155 oprofilefs_create_ulong(root->d_sb, dir, "kernel", &counter_config[i].kernel); 155 oprofilefs_create_ulong(dir, "kernel", &counter_config[i].kernel);
156 oprofilefs_create_ulong(root->d_sb, dir, "user", &counter_config[i].user); 156 oprofilefs_create_ulong(dir, "user", &counter_config[i].user);
157 } 157 }
158 158
159 return 0; 159 return 0;
diff --git a/drivers/oprofile/oprofile_stats.c b/drivers/oprofile/oprofile_stats.c
index 8cf2fa9710a4..59659cea4582 100644
--- a/drivers/oprofile/oprofile_stats.c
+++ b/drivers/oprofile/oprofile_stats.c
@@ -59,26 +59,26 @@ void oprofile_create_stats_files(struct dentry *root)
59 * but we can't simply lock them, and they are 59 * but we can't simply lock them, and they are
60 * informational only. 60 * informational only.
61 */ 61 */
62 oprofilefs_create_ro_ulong(root->d_sb, cpudir, "sample_received", 62 oprofilefs_create_ro_ulong(cpudir, "sample_received",
63 &cpu_buf->sample_received); 63 &cpu_buf->sample_received);
64 oprofilefs_create_ro_ulong(root->d_sb, cpudir, "sample_lost_overflow", 64 oprofilefs_create_ro_ulong(cpudir, "sample_lost_overflow",
65 &cpu_buf->sample_lost_overflow); 65 &cpu_buf->sample_lost_overflow);
66 oprofilefs_create_ro_ulong(root->d_sb, cpudir, "backtrace_aborted", 66 oprofilefs_create_ro_ulong(cpudir, "backtrace_aborted",
67 &cpu_buf->backtrace_aborted); 67 &cpu_buf->backtrace_aborted);
68 oprofilefs_create_ro_ulong(root->d_sb, cpudir, "sample_invalid_eip", 68 oprofilefs_create_ro_ulong(cpudir, "sample_invalid_eip",
69 &cpu_buf->sample_invalid_eip); 69 &cpu_buf->sample_invalid_eip);
70 } 70 }
71 71
72 oprofilefs_create_ro_atomic(root->d_sb, dir, "sample_lost_no_mm", 72 oprofilefs_create_ro_atomic(dir, "sample_lost_no_mm",
73 &oprofile_stats.sample_lost_no_mm); 73 &oprofile_stats.sample_lost_no_mm);
74 oprofilefs_create_ro_atomic(root->d_sb, dir, "sample_lost_no_mapping", 74 oprofilefs_create_ro_atomic(dir, "sample_lost_no_mapping",
75 &oprofile_stats.sample_lost_no_mapping); 75 &oprofile_stats.sample_lost_no_mapping);
76 oprofilefs_create_ro_atomic(root->d_sb, dir, "event_lost_overflow", 76 oprofilefs_create_ro_atomic(dir, "event_lost_overflow",
77 &oprofile_stats.event_lost_overflow); 77 &oprofile_stats.event_lost_overflow);
78 oprofilefs_create_ro_atomic(root->d_sb, dir, "bt_lost_no_mapping", 78 oprofilefs_create_ro_atomic(dir, "bt_lost_no_mapping",
79 &oprofile_stats.bt_lost_no_mapping); 79 &oprofile_stats.bt_lost_no_mapping);
80#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX 80#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
81 oprofilefs_create_ro_atomic(root->d_sb, dir, "multiplex_counter", 81 oprofilefs_create_ro_atomic(dir, "multiplex_counter",
82 &oprofile_stats.multiplex_counter); 82 &oprofile_stats.multiplex_counter);
83#endif 83#endif
84} 84}
diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c
index 6a345724637f..3f493459378f 100644
--- a/drivers/oprofile/oprofilefs.c
+++ b/drivers/oprofile/oprofilefs.c
@@ -132,9 +132,8 @@ static const struct file_operations ulong_ro_fops = {
132}; 132};
133 133
134 134
135static int __oprofilefs_create_file(struct super_block *sb, 135static int __oprofilefs_create_file(struct dentry *root, char const *name,
136 struct dentry *root, char const *name, const struct file_operations *fops, 136 const struct file_operations *fops, int perm, void *priv)
137 int perm, void *priv)
138{ 137{
139 struct dentry *dentry; 138 struct dentry *dentry;
140 struct inode *inode; 139 struct inode *inode;
@@ -145,7 +144,7 @@ static int __oprofilefs_create_file(struct super_block *sb,
145 mutex_unlock(&root->d_inode->i_mutex); 144 mutex_unlock(&root->d_inode->i_mutex);
146 return -ENOMEM; 145 return -ENOMEM;
147 } 146 }
148 inode = oprofilefs_get_inode(sb, S_IFREG | perm); 147 inode = oprofilefs_get_inode(root->d_sb, S_IFREG | perm);
149 if (!inode) { 148 if (!inode) {
150 dput(dentry); 149 dput(dentry);
151 mutex_unlock(&root->d_inode->i_mutex); 150 mutex_unlock(&root->d_inode->i_mutex);
@@ -159,18 +158,18 @@ static int __oprofilefs_create_file(struct super_block *sb,
159} 158}
160 159
161 160
162int oprofilefs_create_ulong(struct super_block *sb, struct dentry *root, 161int oprofilefs_create_ulong(struct dentry *root,
163 char const *name, unsigned long *val) 162 char const *name, unsigned long *val)
164{ 163{
165 return __oprofilefs_create_file(sb, root, name, 164 return __oprofilefs_create_file(root, name,
166 &ulong_fops, 0644, val); 165 &ulong_fops, 0644, val);
167} 166}
168 167
169 168
170int oprofilefs_create_ro_ulong(struct super_block *sb, struct dentry *root, 169int oprofilefs_create_ro_ulong(struct dentry *root,
171 char const *name, unsigned long *val) 170 char const *name, unsigned long *val)
172{ 171{
173 return __oprofilefs_create_file(sb, root, name, 172 return __oprofilefs_create_file(root, name,
174 &ulong_ro_fops, 0444, val); 173 &ulong_ro_fops, 0444, val);
175} 174}
176 175
@@ -189,25 +188,25 @@ static const struct file_operations atomic_ro_fops = {
189}; 188};
190 189
191 190
192int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *root, 191int oprofilefs_create_ro_atomic(struct dentry *root,
193 char const *name, atomic_t *val) 192 char const *name, atomic_t *val)
194{ 193{
195 return __oprofilefs_create_file(sb, root, name, 194 return __oprofilefs_create_file(root, name,
196 &atomic_ro_fops, 0444, val); 195 &atomic_ro_fops, 0444, val);
197} 196}
198 197
199 198
200int oprofilefs_create_file(struct super_block *sb, struct dentry *root, 199int oprofilefs_create_file(struct dentry *root,
201 char const *name, const struct file_operations *fops) 200 char const *name, const struct file_operations *fops)
202{ 201{
203 return __oprofilefs_create_file(sb, root, name, fops, 0644, NULL); 202 return __oprofilefs_create_file(root, name, fops, 0644, NULL);
204} 203}
205 204
206 205
207int oprofilefs_create_file_perm(struct super_block *sb, struct dentry *root, 206int oprofilefs_create_file_perm(struct dentry *root,
208 char const *name, const struct file_operations *fops, int perm) 207 char const *name, const struct file_operations *fops, int perm)
209{ 208{
210 return __oprofilefs_create_file(sb, root, name, fops, perm, NULL); 209 return __oprofilefs_create_file(root, name, fops, perm, NULL);
211} 210}
212 211
213 212
diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h
index 957877e7a408..166ef4fb4b5c 100644
--- a/include/linux/oprofile.h
+++ b/include/linux/oprofile.h
@@ -125,22 +125,22 @@ void oprofile_add_trace(unsigned long eip);
125 * Create a file of the given name as a child of the given root, with 125 * Create a file of the given name as a child of the given root, with
126 * the specified file operations. 126 * the specified file operations.
127 */ 127 */
128int oprofilefs_create_file(struct super_block * sb, struct dentry * root, 128int oprofilefs_create_file(struct dentry * root,
129 char const * name, const struct file_operations * fops); 129 char const * name, const struct file_operations * fops);
130 130
131int oprofilefs_create_file_perm(struct super_block * sb, struct dentry * root, 131int oprofilefs_create_file_perm(struct dentry * root,
132 char const * name, const struct file_operations * fops, int perm); 132 char const * name, const struct file_operations * fops, int perm);
133 133
134/** Create a file for read/write access to an unsigned long. */ 134/** Create a file for read/write access to an unsigned long. */
135int oprofilefs_create_ulong(struct super_block * sb, struct dentry * root, 135int oprofilefs_create_ulong(struct dentry * root,
136 char const * name, ulong * val); 136 char const * name, ulong * val);
137 137
138/** Create a file for read-only access to an unsigned long. */ 138/** Create a file for read-only access to an unsigned long. */
139int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root, 139int oprofilefs_create_ro_ulong(struct dentry * root,
140 char const * name, ulong * val); 140 char const * name, ulong * val);
141 141
142/** Create a file for read-only access to an atomic_t. */ 142/** Create a file for read-only access to an atomic_t. */
143int oprofilefs_create_ro_atomic(struct super_block * sb, struct dentry * root, 143int oprofilefs_create_ro_atomic(struct dentry * root,
144 char const * name, atomic_t * val); 144 char const * name, atomic_t * val);
145 145
146/** create a directory */ 146/** create a directory */