diff options
| author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2011-10-11 11:42:49 +0200 | 
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2011-10-14 12:07:59 +0200 | 
| commit | 07f0d83095c5ca26de9031946ebeec05f24a18e7 (patch) | |
| tree | bcab76fc869bed51e0bb0b59dc0cf42391c2a2be /src | |
| parent | 7266b1b5433b5644a06f05edf61c36864ab11683 (diff) | |
Print media device information when called with -p/--print
In addition to printing pipeline information, print the media device
information.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 21 | ||||
| -rw-r--r-- | src/mediactl.c | 9 | ||||
| -rw-r--r-- | src/mediactl.h | 1 | 
3 files changed, 31 insertions, 0 deletions
| @@ -301,6 +301,27 @@ int main(int argc, char **argv)  		goto out;  	} +	if (media_opts.print) { +		printf("Media controller API version %u.%u.%u\n\n", +		       (media->info.media_version << 16) & 0xff, +		       (media->info.media_version << 8) & 0xff, +		       (media->info.media_version << 0) & 0xff); +		printf("Media device information\n" +		       "------------------------\n" +		       "driver          %s\n" +		       "model           %s\n" +		       "serial          %s\n" +		       "bus info        %s\n" +		       "hw revision     0x%x\n" +		       "driver version  %u.%u.%u\n\n", +		       media->info.driver, media->info.model, +		       media->info.serial, media->info.bus_info, +		       media->info.hw_revision, +		       (media->info.driver_version << 16) & 0xff, +		       (media->info.driver_version << 8) & 0xff, +		       (media->info.driver_version << 0) & 0xff); +	} +  	if (media_opts.entity) {  		struct media_entity *entity; diff --git a/src/mediactl.c b/src/mediactl.c index c5da471..5b8c587 100644 --- a/src/mediactl.c +++ b/src/mediactl.c @@ -452,6 +452,15 @@ struct media_device *media_open_debug(  		return NULL;  	} +	ret = ioctl(media->fd, MEDIA_IOC_DEVICE_INFO, &media->info); +	if (ret < 0) { +		media_dbg(media, "%s: Unable to retrieve media device " +			  "information for device %s (%s)\n", __func__, +			  name, strerror(errno)); +		media_close(media); +		return NULL; +	} +  	media_dbg(media, "Enumerating entities\n");  	ret = media_enum_entities(media); diff --git a/src/mediactl.h b/src/mediactl.h index d4dfc65..1b47b7e 100644 --- a/src/mediactl.h +++ b/src/mediactl.h @@ -54,6 +54,7 @@ struct media_entity {  struct media_device {  	int fd; +	struct media_device_info info;  	struct media_entity *entities;  	unsigned int entities_count;  	void (*debug_handler)(void *, ...); | 
