Skip to content

Commit

Permalink
[media] media: fix truncated entity specification
Browse files Browse the repository at this point in the history
When enumerating an entity, assign the entire entity specification
instead of only the first two words. (This requires giving the
specification union a name.)

So far, no driver actually uses more than two words, but this will
be needed for ALSA entities.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
[laurent.pinchart@ideasonboard.com: Rename specification to info]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Clemens Ladisch authored and Mauro Carvalho Chehab committed Dec 20, 2011
1 parent c1026c5 commit fa5034c
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 7 deletions.
3 changes: 1 addition & 2 deletions drivers/media/media-device.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,7 @@ static long media_device_enum_entities(struct media_device *mdev,
u_ent.group_id = ent->group_id;
u_ent.pads = ent->num_pads;
u_ent.links = ent->num_links - ent->num_backlinks;
u_ent.v4l.major = ent->v4l.major;
u_ent.v4l.minor = ent->v4l.minor;
memcpy(&u_ent.raw, &ent->info, sizeof(ent->info));
if (copy_to_user(uent, &u_ent, sizeof(u_ent)))
return -EFAULT;
return 0;
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/video/v4l2-dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -701,8 +701,8 @@ int __video_register_device(struct video_device *vdev, int type, int nr,
vdev->vfl_type != VFL_TYPE_SUBDEV) {
vdev->entity.type = MEDIA_ENT_T_DEVNODE_V4L;
vdev->entity.name = vdev->name;
vdev->entity.v4l.major = VIDEO_MAJOR;
vdev->entity.v4l.minor = vdev->minor;
vdev->entity.info.v4l.major = VIDEO_MAJOR;
vdev->entity.info.v4l.minor = vdev->minor;
ret = media_device_register_entity(vdev->v4l2_dev->mdev,
&vdev->entity);
if (ret < 0)
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/video/v4l2-device.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ int v4l2_device_register_subdev_nodes(struct v4l2_device *v4l2_dev)
goto clean_up;
}
#if defined(CONFIG_MEDIA_CONTROLLER)
sd->entity.v4l.major = VIDEO_MAJOR;
sd->entity.v4l.minor = vdev->minor;
sd->entity.info.v4l.major = VIDEO_MAJOR;
sd->entity.info.v4l.minor = vdev->minor;
#endif
sd->devnode = vdev;
}
Expand Down
2 changes: 1 addition & 1 deletion include/media/media-entity.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ struct media_entity {

/* Sub-device specifications */
/* Nothing needed yet */
};
} info;
};

static inline u32 media_entity_type(struct media_entity *entity)
Expand Down

0 comments on commit fa5034c

Please sign in to comment.