Re: [PATCH v1 4/7] perf pmu: Const-ify file APIs

From: Adrian Hunter
Date: Thu Oct 12 2023 - 07:56:09 EST


On 7/10/23 05:13, Ian Rogers wrote:
> File APIs don't alter the struct pmu so allow const ones to be passed.
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Reviewed-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

> ---
> tools/perf/util/pmu.c | 12 ++++++------
> tools/perf/util/pmu.h | 11 ++++++-----
> tools/perf/util/python.c | 2 +-
> 3 files changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index 6e95b3d2c2e3..e11901c923d7 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -575,7 +575,7 @@ static int perf_pmu__new_alias(struct perf_pmu *pmu, const char *name,
> return 0;
> }
>
> -static inline bool pmu_alias_info_file(char *name)
> +static inline bool pmu_alias_info_file(const char *name)
> {
> size_t len;
>
> @@ -1771,7 +1771,7 @@ bool perf_pmu__is_software(const struct perf_pmu *pmu)
> return !strcmp(pmu->name, "kprobe") || !strcmp(pmu->name, "uprobe");
> }
>
> -FILE *perf_pmu__open_file(struct perf_pmu *pmu, const char *name)
> +FILE *perf_pmu__open_file(const struct perf_pmu *pmu, const char *name)
> {
> char path[PATH_MAX];
>
> @@ -1782,7 +1782,7 @@ FILE *perf_pmu__open_file(struct perf_pmu *pmu, const char *name)
> return fopen(path, "r");
> }
>
> -FILE *perf_pmu__open_file_at(struct perf_pmu *pmu, int dirfd, const char *name)
> +FILE *perf_pmu__open_file_at(const struct perf_pmu *pmu, int dirfd, const char *name)
> {
> int fd;
>
> @@ -1793,7 +1793,7 @@ FILE *perf_pmu__open_file_at(struct perf_pmu *pmu, int dirfd, const char *name)
> return fdopen(fd, "r");
> }
>
> -int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt,
> +int perf_pmu__scan_file(const struct perf_pmu *pmu, const char *name, const char *fmt,
> ...)
> {
> va_list args;
> @@ -1810,7 +1810,7 @@ int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt,
> return ret;
> }
>
> -int perf_pmu__scan_file_at(struct perf_pmu *pmu, int dirfd, const char *name,
> +int perf_pmu__scan_file_at(const struct perf_pmu *pmu, int dirfd, const char *name,
> const char *fmt, ...)
> {
> va_list args;
> @@ -1827,7 +1827,7 @@ int perf_pmu__scan_file_at(struct perf_pmu *pmu, int dirfd, const char *name,
> return ret;
> }
>
> -bool perf_pmu__file_exists(struct perf_pmu *pmu, const char *name)
> +bool perf_pmu__file_exists(const struct perf_pmu *pmu, const char *name)
> {
> char path[PATH_MAX];
>
> diff --git a/tools/perf/util/pmu.h b/tools/perf/util/pmu.h
> index 588c64e38d6b..24af7297b522 100644
> --- a/tools/perf/util/pmu.h
> +++ b/tools/perf/util/pmu.h
> @@ -222,14 +222,15 @@ bool pmu__name_match(const struct perf_pmu *pmu, const char *pmu_name);
> */
> bool perf_pmu__is_software(const struct perf_pmu *pmu);
>
> -FILE *perf_pmu__open_file(struct perf_pmu *pmu, const char *name);
> -FILE *perf_pmu__open_file_at(struct perf_pmu *pmu, int dirfd, const char *name);
> +FILE *perf_pmu__open_file(const struct perf_pmu *pmu, const char *name);
> +FILE *perf_pmu__open_file_at(const struct perf_pmu *pmu, int dirfd, const char *name);
>
> -int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, ...) __scanf(3, 4);
> -int perf_pmu__scan_file_at(struct perf_pmu *pmu, int dirfd, const char *name,
> +int perf_pmu__scan_file(const struct perf_pmu *pmu, const char *name, const char *fmt, ...)
> + __scanf(3, 4);
> +int perf_pmu__scan_file_at(const struct perf_pmu *pmu, int dirfd, const char *name,
> const char *fmt, ...) __scanf(4, 5);
>
> -bool perf_pmu__file_exists(struct perf_pmu *pmu, const char *name);
> +bool perf_pmu__file_exists(const struct perf_pmu *pmu, const char *name);
>
> int perf_pmu__test(void);
>
> diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
> index c29f5f0bb552..8761f51b5c7c 100644
> --- a/tools/perf/util/python.c
> +++ b/tools/perf/util/python.c
> @@ -98,7 +98,7 @@ struct perf_pmu *evsel__find_pmu(const struct evsel *evsel __maybe_unused)
> return NULL;
> }
>
> -int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, ...)
> +int perf_pmu__scan_file(const struct perf_pmu *pmu, const char *name, const char *fmt, ...)
> {
> return EOF;
> }