diff mbox

[i-g-t] tools/intel_gpu_frequency: remove use of getsubopt

Message ID 1421342870-23275-1-git-send-email-tim.gore@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

tim.gore@intel.com Jan. 15, 2015, 5:27 p.m. UTC
From: Tim Gore <tim.gore@intel.com>

getsubopt is not available in android. The "get" option
doesn't really need sub-options, just display all the
current frequency settings (as per discussion with
Ben Widawsky)

Signed-off-by: Tim Gore <tim.gore@intel.com>
---
 man/intel_gpu_frequency.man |  6 +++---
 tools/intel_gpu_frequency.c | 27 ++++-----------------------
 2 files changed, 7 insertions(+), 26 deletions(-)

Comments

Ben Widawsky Jan. 15, 2015, 6:28 p.m. UTC | #1
On Thu, Jan 15, 2015 at 05:27:50PM +0000, tim.gore@intel.com wrote:
> From: Tim Gore <tim.gore@intel.com>
> 
> getsubopt is not available in android. The "get" option
> doesn't really need sub-options, just display all the
> current frequency settings (as per discussion with
> Ben Widawsky)
> 
> Signed-off-by: Tim Gore <tim.gore@intel.com>
> ---
>  man/intel_gpu_frequency.man |  6 +++---
>  tools/intel_gpu_frequency.c | 27 ++++-----------------------
>  2 files changed, 7 insertions(+), 26 deletions(-)
> 
> diff --git a/man/intel_gpu_frequency.man b/man/intel_gpu_frequency.man
> index 60e4e0c..7144848 100644
> --- a/man/intel_gpu_frequency.man
> +++ b/man/intel_gpu_frequency.man
> @@ -3,7 +3,7 @@
>  intel_gpu_frequency: \- manual page for intel_gpu_frequency
>  .SH SYNOPSIS
>  .B intel_gpu_frequency
> -[\fI\,-e\/\fR] [\fI\,--min | --max\/\fR] [\fI\,-g (min|max|efficient)\/\fR] [\fI\,-s frequency_mhz\/\fR]
> +[\fI\,-e\/\fR] [\fI\,--min | --max\/\fR] [\fI\,-g\/\fR] [\fI\,-s frequency_mhz\/\fR]
>  .SH DESCRIPTION
>  \&A program to manipulate Intel GPU frequencies. Intel GPUs
>  will automatically throttle the frequencies based on system demands, up when
> @@ -19,8 +19,8 @@ safe bet.
>  \fB\-e\fR
>  Lock frequency to the most efficient frequency
>  .TP
> -\fB\-g\fR, \fB\-\-get=\fR
> -Get the frequency comma separated list of ("cur"|"min"|"max"|"eff")
> +\fB\-g\fR, \fB\-\-get\fR
> +Get all the current frequency settings
>  .TP
>  \fB\-s\fR, \fB\-\-set\fR
>  Lock frequency to an absolute value (MHz)
> diff --git a/tools/intel_gpu_frequency.c b/tools/intel_gpu_frequency.c
> index aedceb4..7f85421 100644
> --- a/tools/intel_gpu_frequency.c
> +++ b/tools/intel_gpu_frequency.c
> @@ -152,7 +152,7 @@ usage(const char *prog)
>  	printf("Usage: %s [-e] [--min | --max] [-g (min|max|efficient)] [-s frequency_mhz]\n\n", prog);
>  	printf("Options: \n");
>  	printf("  -e		Lock frequency to the most efficient frequency\n");
> -	printf("  -g, --get=    Get the frequency (optional arg: \"cur\"|\"min\"|\"max\"|\"eff\")\n");
> +	printf("  -g, --get     Get all the frequency settings (eg \"cur\"|\"min\"|\"max\"|\"eff\")\n");

Should be
printf("  -g, --get     Get all the frequency settings);

>  	printf("  -s, --set     Lock frequency to an absolute value (MHz)\n");
>  	printf("  -c, --custom  Set a min, or max frequency \"min=X | max=Y\"\n");
>  	printf("  -m  --max     Lock frequency to max frequency\n");
> @@ -184,13 +184,6 @@ parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
>  	int c, tmp;
>  	bool write = false;
>  
> -	char *token[] = {
> -		(char *)info[CUR].name,
> -		(char *)info[MIN].name,
> -		(char *)"eff",
> -		(char *)info[MAX].name
> -	};
> -
>  	/* No args means -g" */
>  	if (argc == 1) {
>  		for (c = 0; c < act_upon_n; c++)
> @@ -200,7 +193,7 @@ parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
>  	while (1) {
>  		int option_index = 0;
>  		static struct option long_options[] = {
> -			{ "get", optional_argument, NULL, 'g' },
> +			{ "get", no_argument, NULL, 'g' },
>  			{ "set", required_argument, NULL, 's' },
>  			{ "custom", required_argument, NULL, 'c'},
>  			{ "min", no_argument, NULL, 'i' },
> @@ -211,7 +204,7 @@ parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
>  			{ NULL, 0, NULL, 0}
>  		};
>  
> -		c = getopt_long(argc, argv, "eg::s:c:midh", long_options, &option_index);
> +		c = getopt_long(argc, argv, "egs:c:midh", long_options, &option_index);
>  		if (c == -1)
>  			break;
>  
> @@ -219,19 +212,7 @@ parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
>  		case 'g':
>  			if (write == true)
>  				fprintf(stderr, "Read and write operations not support simultaneously.\n");
> -
> -			if (optarg) {
> -				char *value, *subopts = optarg;
> -				int x;
> -				while (*subopts != '\0') {
> -					x = getsubopt(&subopts, token, &value);
> -					if (x == -1) {
> -						fprintf(stderr, "Unrecognized option (%s)\n", value);
> -						break;
> -					} else
> -						act_upon[x] = true;
> -				}
> -			} else {
> +			{
>  				int i;
>  				for (i = 0; i < act_upon_n; i++)
>  					act_upon[i] = true;

You missed one of the examples in the top of the file:
 * intel_gpu_frequency --get=cur,min,max,eff

With those two,
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
diff mbox

Patch

diff --git a/man/intel_gpu_frequency.man b/man/intel_gpu_frequency.man
index 60e4e0c..7144848 100644
--- a/man/intel_gpu_frequency.man
+++ b/man/intel_gpu_frequency.man
@@ -3,7 +3,7 @@ 
 intel_gpu_frequency: \- manual page for intel_gpu_frequency
 .SH SYNOPSIS
 .B intel_gpu_frequency
-[\fI\,-e\/\fR] [\fI\,--min | --max\/\fR] [\fI\,-g (min|max|efficient)\/\fR] [\fI\,-s frequency_mhz\/\fR]
+[\fI\,-e\/\fR] [\fI\,--min | --max\/\fR] [\fI\,-g\/\fR] [\fI\,-s frequency_mhz\/\fR]
 .SH DESCRIPTION
 \&A program to manipulate Intel GPU frequencies. Intel GPUs
 will automatically throttle the frequencies based on system demands, up when
@@ -19,8 +19,8 @@  safe bet.
 \fB\-e\fR
 Lock frequency to the most efficient frequency
 .TP
-\fB\-g\fR, \fB\-\-get=\fR
-Get the frequency comma separated list of ("cur"|"min"|"max"|"eff")
+\fB\-g\fR, \fB\-\-get\fR
+Get all the current frequency settings
 .TP
 \fB\-s\fR, \fB\-\-set\fR
 Lock frequency to an absolute value (MHz)
diff --git a/tools/intel_gpu_frequency.c b/tools/intel_gpu_frequency.c
index aedceb4..7f85421 100644
--- a/tools/intel_gpu_frequency.c
+++ b/tools/intel_gpu_frequency.c
@@ -152,7 +152,7 @@  usage(const char *prog)
 	printf("Usage: %s [-e] [--min | --max] [-g (min|max|efficient)] [-s frequency_mhz]\n\n", prog);
 	printf("Options: \n");
 	printf("  -e		Lock frequency to the most efficient frequency\n");
-	printf("  -g, --get=    Get the frequency (optional arg: \"cur\"|\"min\"|\"max\"|\"eff\")\n");
+	printf("  -g, --get     Get all the frequency settings (eg \"cur\"|\"min\"|\"max\"|\"eff\")\n");
 	printf("  -s, --set     Lock frequency to an absolute value (MHz)\n");
 	printf("  -c, --custom  Set a min, or max frequency \"min=X | max=Y\"\n");
 	printf("  -m  --max     Lock frequency to max frequency\n");
@@ -184,13 +184,6 @@  parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
 	int c, tmp;
 	bool write = false;
 
-	char *token[] = {
-		(char *)info[CUR].name,
-		(char *)info[MIN].name,
-		(char *)"eff",
-		(char *)info[MAX].name
-	};
-
 	/* No args means -g" */
 	if (argc == 1) {
 		for (c = 0; c < act_upon_n; c++)
@@ -200,7 +193,7 @@  parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
 	while (1) {
 		int option_index = 0;
 		static struct option long_options[] = {
-			{ "get", optional_argument, NULL, 'g' },
+			{ "get", no_argument, NULL, 'g' },
 			{ "set", required_argument, NULL, 's' },
 			{ "custom", required_argument, NULL, 'c'},
 			{ "min", no_argument, NULL, 'i' },
@@ -211,7 +204,7 @@  parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
 			{ NULL, 0, NULL, 0}
 		};
 
-		c = getopt_long(argc, argv, "eg::s:c:midh", long_options, &option_index);
+		c = getopt_long(argc, argv, "egs:c:midh", long_options, &option_index);
 		if (c == -1)
 			break;
 
@@ -219,19 +212,7 @@  parse(int argc, char *argv[], bool *act_upon, size_t act_upon_n, int *new_freq)
 		case 'g':
 			if (write == true)
 				fprintf(stderr, "Read and write operations not support simultaneously.\n");
-
-			if (optarg) {
-				char *value, *subopts = optarg;
-				int x;
-				while (*subopts != '\0') {
-					x = getsubopt(&subopts, token, &value);
-					if (x == -1) {
-						fprintf(stderr, "Unrecognized option (%s)\n", value);
-						break;
-					} else
-						act_upon[x] = true;
-				}
-			} else {
+			{
 				int i;
 				for (i = 0; i < act_upon_n; i++)
 					act_upon[i] = true;