[PATCH i-g-t 1/1] tools/lsgpu: Introduce version printing

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Mon Aug 5 08:38:57 UTC 2024


On Fri, Aug 02, 2024 at 11:27:45AM +0200, Kamil Konieczny wrote:
> Add version information for the lsgpu tool. You can now show it
> with long option --version or short -v, for example:

-v => -V

It's good idea to start versioning, With with nit addressed:

Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>

--
Zbigniew

> ./lsgpu --version
> 
> Also while at this, update copyright years and sort out include
> headers.
> 
> Cc: "Zbigniew Kempczyński" <zbigniew.kempczynski at intel.com>
> Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
>  tools/lsgpu.c | 37 +++++++++++++++++++++++++++++--------
>  1 file changed, 29 insertions(+), 8 deletions(-)
> 
> diff --git a/tools/lsgpu.c b/tools/lsgpu.c
> index bdc6671fe..2bf2cf5f0 100644
> --- a/tools/lsgpu.c
> +++ b/tools/lsgpu.c
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright © 2019 Intel Corporation
> + * Copyright © 2019-2024 Intel Corporation
>   *
>   * Permission is hereby granted, free of charge, to any person obtaining a
>   * copy of this software and associated documentation files (the "Software"),
> @@ -22,15 +22,16 @@
>   *
>   */
>  
> -#include "igt_device_scan.h"
> -#include "igt.h"
> -#include <sys/ioctl.h>
> -#include <fcntl.h>
>  #include <errno.h>
> -#include <string.h>
> -#include <signal.h>
> +#include <fcntl.h>
>  #include <glib.h>
>  #include <libudev.h>
> +#include <string.h>
> +#include <signal.h>
> +#include <sys/ioctl.h>
> +
> +#include "igt.h"
> +#include "igt_device_scan.h"
>  
>  /**
>   * SECTION:lsgpu
> @@ -80,12 +81,14 @@ enum {
>  	OPT_DEVICE         = 'd',
>  	OPT_HELP           = 'h',
>  	OPT_PCISCAN        = 'P',
> +	OPT_VERSION        = 'V',
>  };
>  
>  static bool g_show_vendors;
>  static bool g_list_filters;
>  static bool g_help;
>  static bool g_pciscan;
> +static bool g_version;
>  static char *igt_device;
>  
>  static const char *usage_str =
> @@ -99,12 +102,21 @@ static const char *usage_str =
>  	"  -v, --list-vendors          List recognized vendors\n"
>  	"  -l, --list-filter-types     List registered device filters types\n"
>  	"  -d, --device filter         Device filter, can be given multiple times\n"
> +	"  -V, --version               Show version information and exit\n"
>  	"  -h, --help                  Show this help message and exit\n"
>  	"\nOptions valid for default print out mode only:\n"
>  	"      --drm                   Show DRM filters (default) for each device\n"
>  	"      --sysfs                 Show sysfs filters for each device\n"
>  	"      --pci                   Show PCI filters for each device\n";
>  
> +static void show_version(void)
> +{
> +	printf("lsgpu version 1.0\n"
> +	       "Copyright © 2019-2024 Intel Corporation\n"
> +	       "This is free software; see the source for copying conditions.  There is NO\n"
> +	       "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
> +}
> +
>  static void test_device_open(struct igt_device_card *card)
>  {
>  	int fd;
> @@ -256,6 +268,7 @@ int main(int argc, char *argv[])
>  		{"list-filter-types", no_argument,       NULL, OPT_LIST_FILTERS},
>  		{"device",            required_argument, NULL, OPT_DEVICE},
>  		{"help",              no_argument,       NULL, OPT_HELP},
> +		{"version",           no_argument,       NULL, OPT_VERSION},
>  		{0, 0, 0, 0}
>  	};
>  	int c, ret = 0, index = 0;
> @@ -264,7 +277,7 @@ int main(int argc, char *argv[])
>  			.type = IGT_PRINT_USER,
>  	};
>  
> -	while ((c = getopt_long(argc, argv, "ncspvld:hP",
> +	while ((c = getopt_long(argc, argv, "ncspvld:hPV",
>  				long_options, &index)) != -1) {
>  		switch(c) {
>  
> @@ -295,6 +308,9 @@ int main(int argc, char *argv[])
>  		case OPT_PCISCAN:
>  			g_pciscan = true;
>  			break;
> +		case OPT_VERSION:
> +			g_version = true;
> +			break;
>  		case 0:
>  			fmt.option = IGT_PRINT_DRM;
>  			break;
> @@ -315,6 +331,11 @@ int main(int argc, char *argv[])
>  		exit(0);
>  	}
>  
> +	if (g_version) {
> +		show_version();
> +		exit(0);
> +	}
> +
>  	if (g_show_vendors) {
>  		igt_devices_print_vendors();
>  		return 0;
> -- 
> 2.43.0
> 


More information about the igt-dev mailing list