#ifndef __PERF_CPUMAP_H #define __PERF_CPUMAP_H #include #include #include #include "perf.h" #include "util/debug.h" struct cpu_map { atomic_t refcnt; int nr; int map[]; }; struct cpu_map *cpu_map__new(const char *cpu_list); struct cpu_map *cpu_map__empty_new(int nr); struct cpu_map *cpu_map__dummy_new(void); struct cpu_map *cpu_map__new_data(struct cpu_map_data *data); struct cpu_map *cpu_map__read(FILE *file); size_t cpu_map__snprint(struct cpu_map *map, char *buf, size_t size); size_t cpu_map__fprintf(struct cpu_map *map, FILE *fp); int cpu_map__get_socket_id(int cpu); int cpu_map__get_socket(struct cpu_map *map, int idx, void *data); int cpu_map__get_core_id(int cpu); int cpu_map__get_core(struct cpu_map *map, int idx, void *data); int cpu_map__build_socket_map(struct cpu_map *cpus, struct cpu_map **sockp); int cpu_map__build_core_map(struct cpu_map *cpus, struct cpu_map **corep); struct cpu_map *cpu_map__get(struct cpu_map *map); void cpu_map__put(struct cpu_map *map); static inline int cpu_map__socket(struct cpu_map *sock, int s) { if (!sock || s > sock->nr || s < 0) return 0; return sock->map[s]; } static inline int cpu_map__id_to_socket(int id) { return id >> 16; } static inline int cpu_map__id_to_cpu(int id) { return id & 0xffff; } static inline int cpu_map__nr(const struct cpu_map *map) { return map ? map->nr : 1; } static inline bool cpu_map__empty(const struct cpu_map *map) { return map ? map->map[0] == -1 : true; } int cpu__setup_cpunode_map(void); int cpu__max_node(void); int cpu__max_cpu(void); int cpu__get_node(int cpu); int cpu_map__build_map(struct cpu_map *cpus, struct cpu_map **res, int (*f)(struct cpu_map *map, int cpu, void *data), void *data); int cpu_map__cpu(struct cpu_map *cpus, int idx); bool cpu_map__has(struct cpu_map *cpus, int cpu); int cpu_map__idx(struct cpu_map *cpus, int cpu); #endif /* __PERF_CPUMAP_H */ l-out.c?id=55aac6ef53e114c28170ee3f79065cfa8ca9cf3f'>commitdiff
f1bc55fa191'>phy-am335x.c
diff options
AgeCommit message (Expand)AuthorFilesLines
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-25 14:56:58 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-25 14:56:58 -0800
commitd33d5a6c88fcd53fec329a1521010f1bc55fa191 (patch)
treeb95a9598bcf76fd0acc57dff7508cc925db584b6 /drivers/usb/phy/phy-am335x.c
parent3ddc76dfc786cc6f87852693227fb0b1f124f807 (diff)
avoid spurious "may be used uninitialized" warning
The timer type simplifications caused a new gcc warning: drivers/base/power/domain.c: In function ‘genpd_runtime_suspend’: drivers/base/power/domain.c:562:14: warning: ‘time_start’ may be used uninitialized in this function [-Wmaybe-uninitialized] elapsed_ns = ktime_to_ns(ktime_sub(ktime_get(), time_start)); despite the actual use of "time_start" not having changed in any way. It appears that simply changing the type of ktime_t from a union to a plain scalar type made gcc check the use. The variable wasn't actually used uninitialized, but gcc apparently failed to notice that the conditional around the use was exactly the same as the conditional around the initialization of that variable. Add an unnecessary initialization just to shut up the compiler. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/usb/phy/phy-am335x.c')