Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75c43a20 authored by Robert Richter's avatar Robert Richter
Browse files

oprofile: Remove exit function for timer mode



Remove exit functions by moving init/exit code to oprofile's setup/
shutdown functions. Doing so the oprofile module exit code will be
easier and less error-prone.

Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
parent 159a80b2
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -262,9 +262,7 @@ static int __init oprofile_init(void)
		return 0;

	/* failed */
	if (timer_mode)
		oprofile_timer_exit();
	else
	if (!timer_mode)
		oprofile_arch_exit();

	return err;
@@ -274,9 +272,7 @@ static int __init oprofile_init(void)
static void __exit oprofile_exit(void)
{
	oprofilefs_unregister();
	if (timer_mode)
		oprofile_timer_exit();
	else
	if (!timer_mode)
		oprofile_arch_exit();
}

+15 −15
Original line number Diff line number Diff line
@@ -97,24 +97,24 @@ static struct notifier_block __refdata oprofile_cpu_notifier = {
	.notifier_call = oprofile_cpu_notify,
};

int oprofile_timer_init(struct oprofile_operations *ops)
static int oprofile_hrtimer_setup(void)
{
	return register_hotcpu_notifier(&oprofile_cpu_notifier);
}

static void oprofile_hrtimer_shutdown(void)
{
	int rc;
	unregister_hotcpu_notifier(&oprofile_cpu_notifier);
}

	rc = register_hotcpu_notifier(&oprofile_cpu_notifier);
	if (rc)
		return rc;
int oprofile_timer_init(struct oprofile_operations *ops)
{
	ops->create_files	= NULL;
	ops->setup = NULL;
	ops->shutdown = NULL;
	ops->setup		= oprofile_hrtimer_setup;
	ops->shutdown		= oprofile_hrtimer_shutdown;
	ops->start		= oprofile_hrtimer_start;
	ops->stop		= oprofile_hrtimer_stop;
	ops->cpu_type		= "timer";
	printk(KERN_INFO "oprofile: using timer interrupt.\n");
	return 0;
}

void oprofile_timer_exit(void)
{
	unregister_hotcpu_notifier(&oprofile_cpu_notifier);
}