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;
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);
struct media_device {
int fd;
+ struct media_device_info info;
struct media_entity *entities;
unsigned int entities_count;
void (*debug_handler)(void *, ...);