Subject: [PATCH 2/4] sh: Accessor functions for the sh_pmu state

From: [email-masked] (Robert Richter)
Date: Fri, 27 Aug 2010 15:43:01 +0200

On 26.08.10 15:09:17, Matt Fleming wrote:
> Introduce some accessor functions for getting at the name and number of
> counters of the current sh_pmu instance.
> 
> Signed-off-by: Matt Fleming <[email-masked]>
> ---
>  arch/sh/include/asm/perf_event.h |    2 ++
>  arch/sh/kernel/perf_event.c      |   13 +++++++++++++
>  2 files changed, 15 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/sh/include/asm/perf_event.h b/arch/sh/include/asm/perf_event.h
> index 3d0c9f3..5b7fa84 100644
> --- a/arch/sh/include/asm/perf_event.h
> +++ b/arch/sh/include/asm/perf_event.h
> @@ -25,6 +25,8 @@ struct sh_pmu {
>  extern int register_sh_pmu(struct sh_pmu *);
>  extern int reserve_pmc_hardware(void);
>  extern void release_pmc_hardware(void);
> +extern int sh_pmu_num_events(void);
> +extern const char *sh_pmu_name(void);
>  
>  static inline void set_perf_event_pending(void)
>  {
> diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
> index 7a3dc35..086f788 100644
> --- a/arch/sh/kernel/perf_event.c
> +++ b/arch/sh/kernel/perf_event.c
> @@ -60,6 +60,19 @@ static inline int sh_pmu_initialized(void)
>  }
>  
>  /*
> + * Return the number of events for the current sh_pmu.
> + */
> +int sh_pmu_num_events(void)
> +{
> +	return sh_pmu->num_events;
> +}
> +
> +const char *sh_pmu_name(void)
> +{
> +	return sh_pmu->name;
> +}
> +
> +/*

This probably needs EXPORT_SYMBOLS*(), but not really sure. Have you
compiled oprofile as module?

This accessor functions should be generic for all architectures.

-Robert

>   * Release the PMU if this is the last perf_event.
>   */
>  static void hw_perf_event_destroy(struct perf_event *event)
> -- 
> 1.7.1
> 
> 

-- 
Advanced Micro Devices, Inc.
Operating System Research Center