Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tui slang: Tidy casts

Casts were necessary for older versions of libslang, however, these
are now 15 years old and so we no longer need to care about supporting
them. Tidy the casts and remove unnecessary logic.

Move the ENABLE_SLFUTURE_CONST to the libslang.h common include file,
and also enable ENABLE_SLFUTURE_VOID.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: K Prateek Nayak <kprateek.nayak@amd.com>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Ming Wang <wangming01@loongson.cn>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Wei Li <liwei391@huawei.com>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20230825024002.801955-7-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Ian Rogers and committed by
Arnaldo Carvalho de Melo
520da457 7512e969

+15 -34
-2
tools/perf/ui/Build
··· 10 10 perf-$(CONFIG_SLANG) += browser.o 11 11 perf-$(CONFIG_SLANG) += browsers/ 12 12 perf-$(CONFIG_SLANG) += tui/ 13 - 14 - CFLAGS_browser.o += -DENABLE_SLFUTURE_CONST
+3 -3
tools/perf/ui/browser.c
··· 57 57 void ui_browser__write_nstring(struct ui_browser *browser __maybe_unused, const char *msg, 58 58 unsigned int width) 59 59 { 60 - slsmg_write_nstring(msg, width); 60 + SLsmg_write_nstring(msg, width); 61 61 } 62 62 63 63 void ui_browser__vprintf(struct ui_browser *browser __maybe_unused, const char *fmt, va_list args) 64 64 { 65 - slsmg_vprintf(fmt, args); 65 + SLsmg_vprintf(fmt, args); 66 66 } 67 67 68 68 void ui_browser__printf(struct ui_browser *browser __maybe_unused, const char *fmt, ...) ··· 808 808 809 809 while (ui_browser__colorsets[i].name) { 810 810 struct ui_browser_colorset *c = &ui_browser__colorsets[i++]; 811 - sltt_set_color(c->colorset, c->name, c->fg, c->bg); 811 + SLtt_set_color(c->colorset, c->name, c->fg, c->bg); 812 812 } 813 813 }
-5
tools/perf/ui/browsers/Build
··· 4 4 perf-y += scripts.o 5 5 perf-y += header.o 6 6 perf-y += res_sample.o 7 - 8 - CFLAGS_annotate.o += -DENABLE_SLFUTURE_CONST 9 - CFLAGS_hists.o += -DENABLE_SLFUTURE_CONST 10 - CFLAGS_map.o += -DENABLE_SLFUTURE_CONST 11 - CFLAGS_scripts.o += -DENABLE_SLFUTURE_CONST
+4 -16
tools/perf/ui/libslang.h
··· 11 11 #define HAVE_LONG_LONG __GLIBC_HAVE_LONG_LONG 12 12 #endif 13 13 14 + /* Enable future slang's corrected function prototypes. */ 15 + #define ENABLE_SLFUTURE_CONST 1 16 + #define ENABLE_SLFUTURE_VOID 1 17 + 14 18 #ifdef HAVE_SLANG_INCLUDE_SUBDIR 15 19 #include <slang/slang.h> 16 20 #else 17 21 #include <slang.h> 18 - #endif 19 - 20 - #if SLANG_VERSION < 20104 21 - #define slsmg_printf(msg, args...) \ 22 - SLsmg_printf((char *)(msg), ##args) 23 - #define slsmg_vprintf(msg, vargs) \ 24 - SLsmg_vprintf((char *)(msg), vargs) 25 - #define slsmg_write_nstring(msg, len) \ 26 - SLsmg_write_nstring((char *)(msg), len) 27 - #define sltt_set_color(obj, name, fg, bg) \ 28 - SLtt_set_color(obj,(char *)(name), (char *)(fg), (char *)(bg)) 29 - #else 30 - #define slsmg_printf SLsmg_printf 31 - #define slsmg_vprintf SLsmg_vprintf 32 - #define slsmg_write_nstring SLsmg_write_nstring 33 - #define sltt_set_color SLtt_set_color 34 22 #endif 35 23 36 24 #define SL_KEY_UNTAB 0x1000
+1 -1
tools/perf/ui/tui/helpline.c
··· 22 22 23 23 SLsmg_gotorc(SLtt_Screen_Rows - 1, 0); 24 24 SLsmg_set_color(0); 25 - SLsmg_write_nstring((char *)msg, SLtt_Screen_Cols); 25 + SLsmg_write_nstring(msg, SLtt_Screen_Cols); 26 26 SLsmg_refresh(); 27 27 strlcpy(ui_helpline__current, msg, sz); 28 28 }
+1 -1
tools/perf/ui/tui/setup.c
··· 142 142 goto out; 143 143 } 144 144 145 - SLkp_define_keysym((char *)"^(kB)", SL_KEY_UNTAB); 145 + SLkp_define_keysym("^(kB)", SL_KEY_UNTAB); 146 146 147 147 signal(SIGSEGV, ui__signal_backtrace); 148 148 signal(SIGFPE, ui__signal_backtrace);
+6 -6
tools/perf/ui/tui/util.c
··· 106 106 SLsmg_draw_box(y, x++, nr_lines, max_len); 107 107 if (title) { 108 108 SLsmg_gotorc(y, x + 1); 109 - SLsmg_write_string((char *)title); 109 + SLsmg_write_string(title); 110 110 } 111 111 SLsmg_gotorc(++y, x); 112 112 nr_lines -= 7; ··· 117 117 len = 5; 118 118 while (len--) { 119 119 SLsmg_gotorc(y + len - 1, x); 120 - SLsmg_write_nstring((char *)" ", max_len); 120 + SLsmg_write_nstring(" ", max_len); 121 121 } 122 122 SLsmg_draw_box(y++, x + 1, 3, max_len - 2); 123 123 124 124 SLsmg_gotorc(y + 3, x); 125 - SLsmg_write_nstring((char *)exit_msg, max_len); 125 + SLsmg_write_nstring(exit_msg, max_len); 126 126 SLsmg_refresh(); 127 127 128 128 mutex_unlock(&ui__lock); ··· 197 197 SLsmg_draw_box(y, x++, nr_lines, max_len); 198 198 if (title) { 199 199 SLsmg_gotorc(y, x + 1); 200 - SLsmg_write_string((char *)title); 200 + SLsmg_write_string(title); 201 201 } 202 202 SLsmg_gotorc(++y, x); 203 203 if (exit_msg) ··· 207 207 nr_lines, max_len, 1); 208 208 if (exit_msg) { 209 209 SLsmg_gotorc(y + nr_lines - 2, x); 210 - SLsmg_write_nstring((char *)" ", max_len); 210 + SLsmg_write_nstring(" ", max_len); 211 211 SLsmg_gotorc(y + nr_lines - 1, x); 212 - SLsmg_write_nstring((char *)exit_msg, max_len); 212 + SLsmg_write_nstring(exit_msg, max_len); 213 213 } 214 214 } 215 215