On Fri, 08 Feb 2013, Laurent Pinchart laurent.pinchart@ideasonboard.com wrote:
If the -M parameter is specific, modetest will use the requested device name instead of trying its builtin list of device names.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
tests/modetest/modetest.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-)
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index 34457e2..b6298fc 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -908,6 +908,9 @@ void usage(char *name) fprintf(stderr, "\t-s <connector_id>[@<crtc_id>]:<mode>[@<format>]\tset a mode\n"); fprintf(stderr, "\t-v\ttest vsynced page flipping\n");
- fprintf(stderr, "\n Generic options:\n\n");
- fprintf(stderr, "\t-M module\tuse the given driver\n");
- fprintf(stderr, "\n\tDefault is to dump all info.\n"); exit(0);
} @@ -935,7 +938,7 @@ static int page_flipping_supported(void) #endif }
-static char optstr[] = "cefmP:ps:v"; +static char optstr[] = "cefM:mP:ps:v";
int main(int argc, char **argv) { @@ -943,6 +946,7 @@ int main(int argc, char **argv) int encoders = 0, connectors = 0, crtcs = 0, planes = 0, framebuffers = 0; int test_vsync = 0; char *modules[] = { "i915", "radeon", "nouveau", "vmwgfx", "omapdrm", "exynos" };
- char *module = NULL; unsigned int i; int count = 0, plane_count = 0; struct connector con_args[2];
@@ -960,6 +964,9 @@ int main(int argc, char **argv) case 'f': framebuffers = 1; break;
case 'M':
module = optarg;
case 'm': modes = 1; break;break;
@@ -989,14 +996,27 @@ int main(int argc, char **argv) if (argc == 1) encoders = connectors = crtcs = planes = modes = framebuffers = 1;
- for (i = 0; i < ARRAY_SIZE(modules); i++) {
printf("trying to load module %s...", modules[i]);
- if (module) { fd = drmOpen(modules[i], NULL);
If this worked for you, I presume you have some uncommitted changes in your tree. ;) The compiler should cry about uninitialized use of i too.
fd = drmOpen(module, NULL); ?
if (fd < 0) {
printf("failed.\n");
} else {
printf("success.\n");
break;
printf("failed to open device '%s'.\n", module);
return 1;
}
- } else {
for (i = 0; i < ARRAY_SIZE(modules); i++) {
printf("trying to open device '%s'...", modules[i]);
fd = drmOpen(modules[i], NULL);
if (fd < 0) {
printf("failed.\n");
} else {
printf("success.\n");
break;
}
}
if (fd < 0) {
printf("no device found.\n", module);
Extra param to printf.
BR, Jani.
} }return 1;
-- 1.7.12.4
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel