]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
tools/power/x86/intel-speed-select: Make process_command generic
authorPrarit Bhargava <prarit@redhat.com>
Thu, 10 Oct 2019 20:29:41 +0000 (13:29 -0700)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 15 Oct 2019 08:02:29 +0000 (11:02 +0300)
Make the process_command take any help command and command list.  This
will make it easier to help commands and a command list for CascadeLake-N.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
tools/power/x86/intel-speed-select/isst-config.c

index 4927aebee306888ecdef67d57b1edd85fdb9840c..907b79e16c688fd13471f5f94a7dfea707cec9cc 100644 (file)
@@ -1816,7 +1816,9 @@ static struct process_cmd_help_struct isst_help_cmds[] = {
        { NULL, NULL }
 };
 
-void process_command(int argc, char **argv)
+void process_command(int argc, char **argv,
+                    struct process_cmd_help_struct *help_cmds,
+                    struct process_cmd_struct *cmds)
 {
        int i = 0, matched = 0;
        char *feature = argv[optind];
@@ -1827,9 +1829,9 @@ void process_command(int argc, char **argv)
 
        debug_printf("feature name [%s] command [%s]\n", feature, cmd);
        if (!strcmp(cmd, "-h") || !strcmp(cmd, "--help")) {
-               while (isst_help_cmds[i].feature) {
-                       if (!strcmp(isst_help_cmds[i].feature, feature)) {
-                               isst_help_cmds[i].process_fn();
+               while (help_cmds[i].feature) {
+                       if (!strcmp(help_cmds[i].feature, feature)) {
+                               help_cmds[i].process_fn();
                                exit(0);
                        }
                        ++i;
@@ -1839,11 +1841,11 @@ void process_command(int argc, char **argv)
        create_cpu_map();
 
        i = 0;
-       while (isst_cmds[i].feature) {
-               if (!strcmp(isst_cmds[i].feature, feature) &&
-                   !strcmp(isst_cmds[i].command, cmd)) {
+       while (cmds[i].feature) {
+               if (!strcmp(cmds[i].feature, feature) &&
+                   !strcmp(cmds[i].command, cmd)) {
                        parse_cmd_args(argc, optind + 1, argv);
-                       isst_cmds[i].process_fn(isst_cmds[i].arg);
+                       cmds[i].process_fn(cmds[i].arg);
                        matched = 1;
                        break;
                }
@@ -1964,7 +1966,7 @@ static void cmdline(int argc, char **argv)
        if (ret)
                goto out;
 
-       process_command(argc, argv);
+       process_command(argc, argv, isst_help_cmds, isst_cmds);
 out:
        free_cpu_set(present_cpumask);
        free_cpu_set(target_cpumask);