diff options
| author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2013-03-01 02:28:42 +0100 | 
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2013-08-05 14:21:44 +0200 | 
| commit | 6e0c74c5f8860748f03dad4548d3ef2cf2df5489 (patch) | |
| tree | cd166a4b6facd1b514ed12d0e3582ee0e0720689 /tests | |
| parent | 02fa8f79b05456184028f014432647b19601a288 (diff) | |
modetest: Don't limit mode set and planes to two instances
Configuring mode on more than two connectors or two planes is perfectly
valid. Support it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/modetest/modetest.c | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index c047c365..48352c51 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -1067,8 +1067,8 @@ int main(int argc, char **argv)  	char *module = NULL;  	unsigned int i;  	int count = 0, plane_count = 0; -	struct connector_arg con_args[2]; -	struct plane_arg plane_args[2] = { { 0, }, }; +	struct connector_arg *con_args = NULL; +	struct plane_arg *plane_args = NULL;  	unsigned int args = 0;  	opterr = 0; @@ -1097,8 +1097,16 @@ int main(int argc, char **argv)  			modes = 1;  			break;  		case 'P': +			plane_args = realloc(plane_args, +					     (plane_count + 1) * sizeof *plane_args); +			if (plane_args == NULL) { +				fprintf(stderr, "memory allocation failed\n"); +				return 1; +			} +  			if (parse_plane(&plane_args[plane_count], optarg) < 0)  				usage(argv[0]); +  			plane_count++;  			break;  		case 'p': @@ -1106,8 +1114,16 @@ int main(int argc, char **argv)  			planes = 1;  			break;  		case 's': +			con_args = realloc(con_args, +					   (count + 1) * sizeof *con_args); +			if (con_args == NULL) { +				fprintf(stderr, "memory allocation failed\n"); +				return 1; +			} +  			if (parse_connector(&con_args[count], optarg) < 0)  				usage(argv[0]); +  			count++;				        			break;  		case 'v':  | 
