Skip to content

Commit

Permalink
[ARM] 4/4 Combine oprofile common and init code
Browse files Browse the repository at this point in the history
There is nothing special about having the init code separate from
the common code, so combine the two.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Oct 28, 2005
1 parent 55f0523 commit c6b9daf
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 52 deletions.
4 changes: 2 additions & 2 deletions arch/arm/oprofile/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ DRIVER_OBJS = $(addprefix ../../../drivers/oprofile/, \
oprofilefs.o oprofile_stats.o \
timer_int.o )

oprofile-y := $(DRIVER_OBJS) init.o backtrace.o
oprofile-$(CONFIG_CPU_XSCALE) += common.o op_model_xscale.o
oprofile-y := $(DRIVER_OBJS) common.o backtrace.o
oprofile-$(CONFIG_CPU_XSCALE) += op_model_xscale.o

44 changes: 27 additions & 17 deletions arch/arm/oprofile/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,27 +125,37 @@ static void exit_driverfs(void)
#define exit_driverfs() do { } while (0)
#endif /* CONFIG_PM */

int __init op_arm_init(struct oprofile_operations *ops, struct op_arm_model_spec *spec)
int __init oprofile_arch_init(struct oprofile_operations *ops)
{
init_MUTEX(&op_arm_sem);

if (spec->init() < 0)
return -ENODEV;

op_arm_model = spec;
init_driverfs();
ops->create_files = op_arm_create_files;
ops->setup = op_arm_setup;
ops->shutdown = op_arm_stop;
ops->start = op_arm_start;
ops->stop = op_arm_stop;
ops->cpu_type = op_arm_model->name;
printk(KERN_INFO "oprofile: using %s\n", spec->name);
struct op_arm_model_spec *spec = NULL;
int ret = -ENODEV;

#ifdef CONFIG_CPU_XSCALE
spec = &op_xscale_spec;
#endif

if (spec) {
init_MUTEX(&op_arm_sem);

if (spec->init() < 0)
return -ENODEV;

op_arm_model = spec;
init_driverfs();
ops->create_files = op_arm_create_files;
ops->setup = op_arm_setup;
ops->shutdown = op_arm_stop;
ops->start = op_arm_start;
ops->stop = op_arm_stop;
ops->cpu_type = op_arm_model->name;
ops->backtrace = arm_backtrace;
printk(KERN_INFO "oprofile: using %s\n", spec->name);
}

return 0;
return ret;
}

void op_arm_exit(void)
void oprofile_arch_exit(void)
{
if (op_arm_model) {
exit_driverfs();
Expand Down
33 changes: 0 additions & 33 deletions arch/arm/oprofile/init.c

This file was deleted.

0 comments on commit c6b9daf

Please sign in to comment.