示例#1
0
static int __init oprofile_init(void)
{
	int err;

	/* always init architecture to setup backtrace support */
	err = oprofile_arch_init(&oprofile_ops);

	timer_mode = err || timer;	/* fall back to timer mode on errors */
	if (timer_mode) {
		if (!err)
			oprofile_arch_exit();
		err = oprofile_timer_init(&oprofile_ops);
		if (err)
			return err;
	}

	err = oprofilefs_register();
	if (!err)
		return 0;

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

	return err;
}
示例#2
0
static void __exit oprofile_exit(void)
{
	oprofilefs_unregister();
	if (timer_mode)
		oprofile_timer_exit();
	else
		oprofile_arch_exit();
}
示例#3
0
static void __exit oprofile_exit(void)
{
	oprofile_timer_exit();
	oprofilefs_unregister();
	oprofile_arch_exit();
}
示例#4
0
static void oprofile_hwsampler_exit(void)
{
	oprofile_timer_exit();
	hwsampler_shutdown();
}