lkml.org 
[lkml]   [2011]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/5] oprofile: Remove exit function for timer mode
    Date
    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: Robert Richter <robert.richter@amd.com>
    ---
    drivers/oprofile/oprof.c | 8 ++------
    drivers/oprofile/timer_int.c | 30 +++++++++++++++---------------
    2 files changed, 17 insertions(+), 21 deletions(-)

    diff --git a/drivers/oprofile/oprof.c b/drivers/oprofile/oprof.c
    index f8c752e..f7cd069 100644
    --- a/drivers/oprofile/oprof.c
    +++ b/drivers/oprofile/oprof.c
    @@ -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();
    }

    diff --git a/drivers/oprofile/timer_int.c b/drivers/oprofile/timer_int.c
    index 878fba1..93404f7 100644
    --- a/drivers/oprofile/timer_int.c
    +++ b/drivers/oprofile/timer_int.c
    @@ -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)
    {
    - int rc;
    -
    - rc = register_hotcpu_notifier(&oprofile_cpu_notifier);
    - if (rc)
    - return rc;
    - ops->create_files = NULL;
    - ops->setup = NULL;
    - ops->shutdown = NULL;
    - ops->start = oprofile_hrtimer_start;
    - ops->stop = oprofile_hrtimer_stop;
    - ops->cpu_type = "timer";
    - printk(KERN_INFO "oprofile: using timer interrupt.\n");
    - return 0;
    + return register_hotcpu_notifier(&oprofile_cpu_notifier);
    }

    -void oprofile_timer_exit(void)
    +static void oprofile_hrtimer_shutdown(void)
    {
    unregister_hotcpu_notifier(&oprofile_cpu_notifier);
    }
    +
    +int oprofile_timer_init(struct oprofile_operations *ops)
    +{
    + ops->create_files = 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;
    +}
    --
    1.7.7



    \
     
     \ /
      Last update: 2011-10-17 16:37    [W:3.517 / U:0.368 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site