int main(int argc, char *argv[]) { static const char optstr[] = "D:M:"; int c, args, ret = 0; char *device = NULL; char *module = NULL; while ((c = getopt(argc, argv, optstr)) != -1) { switch (c) { case 'D': device = optarg; break; case 'M': module = optarg; break; default: usage(argv[0]); break; } } args = argc - optind; fd = util_open(device, module); if (fd < 0) return 1; res = drmModeGetResources(fd); if (!res) { fprintf(stderr, "Failed to get resources: %s\n", strerror(errno)); ret = 1; goto done; } if (args < 1) { listAllProperties(); } else if (args == 4) { ret = setProperty(&argv[optind]); } else { usage(argv[0]); ret = 1; } drmModeFreeResources(res); done: drmClose(fd); return ret; }
int main(int argc, char *argv[]) { const char *modules[] = { "i915", "radeon", "nouveau", "vmwgfx", "omapdrm", "msm", "rockchip" }; unsigned int i, ret = 0; for (i = 0; i < ARRAY_SIZE(modules); i++){ fd = drmOpen(modules[i], NULL); if (fd >= 0) { printf("Module %s loaded.\n", modules[i]); break; } } if (i == ARRAY_SIZE(modules)) { fprintf(stderr, "Failed to load drm modules.\n"); return 1; } res = drmModeGetResources(fd); if (!res) { fprintf(stderr, "Failed to get resources: %s\n", strerror(errno)); ret = 1; goto done; } if (argc < 2) { listAllProperties(); } else if (argc == 5) { ret = setProperty(argv); } else { printUsage(); ret = 1; } drmModeFreeResources(res); done: drmClose(fd); return ret; }