Commit 0e576b76 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] media-entity.h: rename entity.type to entity.function

Entities should have one or more functions. Calling it as a
type proofed to not be correct, as an entity could eventually
have more than one type.

So, rename the field as function.

Please notice that this patch doesn't extend support for
multiple function entities. Such change will happen when
we have real case drivers using it.

No functional changes.
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 77328043
......@@ -303,8 +303,8 @@ calling media_entity_init():
err = media_entity_init(&sd->entity, npads, pads);
The pads array must have been previously initialized. There is no need to
manually set the struct media_entity type and name fields, but the revision
field must be initialized if needed.
manually set the struct media_entity function and name fields, but the
revision field must be initialized if needed.
A reference to the entity will be automatically acquired/released when the
subdev device node (if any) is opened/closed.
......
......@@ -242,7 +242,7 @@ static int dvb_create_tsout_entity(struct dvb_device *dvbdev,
if (!entity->name)
return -ENOMEM;
entity->type = MEDIA_ENT_T_DVB_TSOUT;
entity->function = MEDIA_ENT_T_DVB_TSOUT;
pads->flags = MEDIA_PAD_FL_SINK;
ret = media_entity_init(entity, 1, pads);
......@@ -315,18 +315,18 @@ static int dvb_create_media_entity(struct dvb_device *dvbdev,
switch (type) {
case DVB_DEVICE_FRONTEND:
dvbdev->entity->type = MEDIA_ENT_T_DVB_DEMOD;
dvbdev->entity->function = MEDIA_ENT_T_DVB_DEMOD;
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
dvbdev->pads[1].flags = MEDIA_PAD_FL_SOURCE;
break;
case DVB_DEVICE_DEMUX:
dvbdev->entity->type = MEDIA_ENT_T_DVB_DEMUX;
dvbdev->entity->function = MEDIA_ENT_T_DVB_DEMUX;
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
for (i = 1; i < npads; i++)
dvbdev->pads[i].flags = MEDIA_PAD_FL_SOURCE;
break;
case DVB_DEVICE_CA:
dvbdev->entity->type = MEDIA_ENT_T_DVB_CA;
dvbdev->entity->function = MEDIA_ENT_T_DVB_CA;
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
dvbdev->pads[1].flags = MEDIA_PAD_FL_SOURCE;
break;
......@@ -555,7 +555,7 @@ int dvb_create_media_graph(struct dvb_adapter *adap)
return 0;
media_device_for_each_entity(entity, mdev) {
switch (entity->type) {
switch (entity->function) {
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
tuner = entity;
break;
......@@ -594,7 +594,7 @@ int dvb_create_media_graph(struct dvb_adapter *adap)
/* Create demux links for each ringbuffer/pad */
if (demux) {
media_device_for_each_entity(entity, mdev) {
if (entity->type == MEDIA_ENT_T_DVB_TSOUT) {
if (entity->function == MEDIA_ENT_T_DVB_TSOUT) {
if (!strncmp(entity->name, DVR_TSOUT,
strlen(DVR_TSOUT))) {
ret = media_create_pad_link(demux,
......@@ -639,7 +639,7 @@ int dvb_create_media_graph(struct dvb_adapter *adap)
}
media_device_for_each_entity(entity, mdev) {
if (entity->type == MEDIA_ENT_T_DVB_TSOUT) {
if (entity->function == MEDIA_ENT_T_DVB_TSOUT) {
if (!strcmp(entity->name, DVR_TSOUT)) {
link = media_create_intf_link(entity,
intf,
......
......@@ -766,7 +766,7 @@ static int au8522_probe(struct i2c_client *client,
state->pads[AU8522_PAD_INPUT].flags = MEDIA_PAD_FL_SINK;
state->pads[AU8522_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
state->pads[AU8522_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
ret = media_entity_init(&sd->entity, ARRAY_SIZE(state->pads),
state->pads);
......
......@@ -516,7 +516,7 @@ static int adp1653_probe(struct i2c_client *client,
if (ret < 0)
goto free_and_quit;
flash->subdev.entity.type = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
flash->subdev.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
return 0;
......
......@@ -831,7 +831,7 @@ static int as3645a_probe(struct i2c_client *client,
if (ret < 0)
goto done;
flash->subdev.entity.type = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
flash->subdev.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
mutex_init(&flash->power_lock);
......
......@@ -5211,7 +5211,7 @@ static int cx25840_probe(struct i2c_client *client,
state->pads[CX25840_PAD_INPUT].flags = MEDIA_PAD_FL_SINK;
state->pads[CX25840_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
state->pads[CX25840_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
ret = media_entity_init(&sd->entity, ARRAY_SIZE(state->pads),
state->pads);
......
......@@ -368,7 +368,7 @@ static int lm3560_subdev_init(struct lm3560_flash *flash,
rval = media_entity_init(&flash->subdev_led[led_no].entity, 0, NULL);
if (rval < 0)
goto err_out;
flash->subdev_led[led_no].entity.type = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
flash->subdev_led[led_no].entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
return rval;
......
......@@ -285,7 +285,7 @@ static int lm3646_subdev_init(struct lm3646_flash *flash)
rval = media_entity_init(&flash->subdev_led.entity, 0, NULL);
if (rval < 0)
goto err_out;
flash->subdev_led.entity.type = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
flash->subdev_led.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
return rval;
err_out:
......
......@@ -978,7 +978,7 @@ static int m5mols_probe(struct i2c_client *client,
ret = media_entity_init(&sd->entity, 1, &info->pad);
if (ret < 0)
return ret;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
init_waitqueue_head(&info->irq_waitq);
mutex_init(&info->lock);
......
......@@ -779,7 +779,7 @@ static int noon010_probe(struct i2c_client *client,
goto np_err;
info->pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, 1, &info->pad);
if (ret < 0)
goto np_err;
......
......@@ -1445,7 +1445,7 @@ static int ov2659_probe(struct i2c_client *client,
#if defined(CONFIG_MEDIA_CONTROLLER)
ov2659->pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, 1, &ov2659->pad);
if (ret < 0) {
v4l2_ctrl_handler_free(&ov2659->ctrls);
......
......@@ -1500,7 +1500,7 @@ static int ov965x_probe(struct i2c_client *client,
return ret;
ov965x->pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, 1, &ov965x->pad);
if (ret < 0)
return ret;
......
......@@ -1688,7 +1688,7 @@ static int s5c73m3_probe(struct i2c_client *client,
state->sensor_pads[S5C73M3_JPEG_PAD].flags = MEDIA_PAD_FL_SOURCE;
state->sensor_pads[S5C73M3_ISP_PAD].flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, S5C73M3_NUM_PADS,
state->sensor_pads);
......@@ -1704,7 +1704,7 @@ static int s5c73m3_probe(struct i2c_client *client,
state->oif_pads[OIF_ISP_PAD].flags = MEDIA_PAD_FL_SINK;
state->oif_pads[OIF_JPEG_PAD].flags = MEDIA_PAD_FL_SINK;
state->oif_pads[OIF_SOURCE_PAD].flags = MEDIA_PAD_FL_SOURCE;
oif_sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
oif_sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
ret = media_entity_init(&oif_sd->entity, OIF_NUM_PADS,
state->oif_pads);
......
......@@ -961,7 +961,7 @@ static int s5k4ecgx_probe(struct i2c_client *client,
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
priv->pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, 1, &priv->pad);
if (ret)
return ret;
......
......@@ -408,7 +408,7 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct v4l2_ctrl *ctrl)
static inline bool s5k5baf_is_cis_subdev(struct v4l2_subdev *sd)
{
return sd->entity.type == MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
return sd->entity.function == MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
}
static inline struct s5k5baf *to_s5k5baf(struct v4l2_subdev *sd)
......@@ -1904,7 +1904,7 @@ static int s5k5baf_configure_subdevs(struct s5k5baf *state,
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
state->cis_pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, NUM_CIS_PADS, &state->cis_pad);
if (ret < 0)
goto err;
......@@ -1919,7 +1919,7 @@ static int s5k5baf_configure_subdevs(struct s5k5baf *state,
state->pads[PAD_CIS].flags = MEDIA_PAD_FL_SINK;
state->pads[PAD_OUT].flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
ret = media_entity_init(&sd->entity, NUM_ISP_PADS, state->pads);
if (!ret)
......
......@@ -1577,7 +1577,7 @@ static int s5k6aa_probe(struct i2c_client *client,
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
s5k6aa->pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
ret = media_entity_init(&sd->entity, 1, &s5k6aa->pad);
if (ret)
return ret;
......
......@@ -2763,7 +2763,7 @@ static int smiapp_init(struct smiapp_sensor *sensor)
dev_dbg(&client->dev, "profile %d\n", sensor->minfo.smiapp_profile);
sensor->pixel_array->sd.entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
sensor->pixel_array->sd.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
/* final steps */
smiapp_read_frame_fmt(sensor);
......
......@@ -108,7 +108,7 @@ static long media_device_enum_entities(struct media_device *mdev,
u_ent.id = media_entity_id(ent);
if (ent->name)
strlcpy(u_ent.name, ent->name, sizeof(u_ent.name));
u_ent.type = ent->type;
u_ent.type = ent->function;
u_ent.revision = ent->revision;
u_ent.flags = ent->flags;
u_ent.group_id = ent->group_id;
......@@ -610,8 +610,8 @@ int __must_check media_device_register_entity(struct media_device *mdev,
{
int i;
if (entity->type == MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN ||
entity->type == MEDIA_ENT_T_UNKNOWN)
if (entity->function == MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN ||
entity->function == MEDIA_ENT_T_UNKNOWN)
dev_warn(mdev->dev,
"Entity type for entity %s was not initialized!\n",
entity->name);
......
......@@ -191,7 +191,7 @@ static int xvip_pipeline_validate(struct xvip_pipeline *pipe,
while ((entity = media_entity_graph_walk_next(&graph))) {
struct xvip_dma *dma;
if (entity->type != MEDIA_ENT_T_V4L2_VIDEO)
if (entity->function != MEDIA_ENT_T_V4L2_VIDEO)
continue;
dma = to_xvip_dma(media_entity_to_video_device(entity));
......
......@@ -265,7 +265,7 @@ static int au0828_create_media_graph(struct au0828_dev *dev)
return 0;
media_device_for_each_entity(entity, mdev) {
switch (entity->type) {
switch (entity->function) {
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
tuner = entity;
break;
......
......@@ -1832,18 +1832,18 @@ static void au0828_analog_create_entities(struct au0828_dev *dev)
switch (AUVI_INPUT(i).type) {
case AU0828_VMUX_COMPOSITE:
ent->type = MEDIA_ENT_T_CONN_COMPOSITE;
ent->function = MEDIA_ENT_T_CONN_COMPOSITE;
break;
case AU0828_VMUX_SVIDEO:
ent->type = MEDIA_ENT_T_CONN_SVIDEO;
ent->function = MEDIA_ENT_T_CONN_SVIDEO;
break;
case AU0828_VMUX_CABLE:
case AU0828_VMUX_TELEVISION:
case AU0828_VMUX_DVB:
ent->type = MEDIA_ENT_T_CONN_RF;
ent->function = MEDIA_ENT_T_CONN_RF;
break;
default: /* AU0828_VMUX_DEBUG */
ent->type = MEDIA_ENT_T_CONN_TEST;
ent->function = MEDIA_ENT_T_CONN_TEST;
break;
}
......
......@@ -1249,7 +1249,7 @@ static int cx231xx_create_media_graph(struct cx231xx *dev)
return 0;
media_device_for_each_entity(entity, mdev) {
switch (entity->type) {
switch (entity->function) {
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
tuner = entity;
break;
......
......@@ -119,7 +119,7 @@ static int cx231xx_enable_analog_tuner(struct cx231xx *dev)
* this should be enough for the actual needs.
*/
media_device_for_each_entity(entity, mdev) {
if (entity->type == MEDIA_ENT_T_V4L2_SUBDEV_DECODER) {
if (entity->function == MEDIA_ENT_T_V4L2_SUBDEV_DECODER) {
decoder = entity;
break;
}
......
......@@ -698,7 +698,7 @@ static int tuner_probe(struct i2c_client *client,
#if defined(CONFIG_MEDIA_CONTROLLER)
t->pad[TUNER_PAD_RF_INPUT].flags = MEDIA_PAD_FL_SINK;
t->pad[TUNER_PAD_IF_OUTPUT].flags = MEDIA_PAD_FL_SOURCE;
t->sd.entity.type = MEDIA_ENT_T_V4L2_SUBDEV_TUNER;
t->sd.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_TUNER;
t->sd.entity.name = t->name;
ret = media_entity_init(&t->sd.entity, TUNER_NUM_PADS, &t->pad[0]);
......
......@@ -197,7 +197,7 @@ static void v4l2_device_release(struct device *cd)
if (v4l2_dev->mdev) {
/* Remove interfaces and interface links */
media_devnode_remove(vdev->intf_devnode);
if (vdev->entity.type != MEDIA_ENT_T_UNKNOWN)
if (vdev->entity.function != MEDIA_ENT_T_UNKNOWN)
media_device_unregister_entity(&vdev->entity);
}
#endif
......@@ -735,20 +735,20 @@ static int video_register_media_controller(struct video_device *vdev, int type)
if (!vdev->v4l2_dev->mdev)
return 0;
vdev->entity.type = MEDIA_ENT_T_UNKNOWN;
vdev->entity.function = MEDIA_ENT_T_UNKNOWN;
switch (type) {
case VFL_TYPE_GRABBER:
intf_type = MEDIA_INTF_T_V4L_VIDEO;
vdev->entity.type = MEDIA_ENT_T_V4L2_VIDEO;
vdev->entity.function = MEDIA_ENT_T_V4L2_VIDEO;
break;
case VFL_TYPE_VBI:
intf_type = MEDIA_INTF_T_V4L_VBI;
vdev->entity.type = MEDIA_ENT_T_V4L2_VBI;
vdev->entity.function = MEDIA_ENT_T_V4L2_VBI;
break;
case VFL_TYPE_SDR:
intf_type = MEDIA_INTF_T_V4L_SWRADIO;
vdev->entity.type = MEDIA_ENT_T_V4L2_SWRADIO;
vdev->entity.function = MEDIA_ENT_T_V4L2_SWRADIO;
break;
case VFL_TYPE_RADIO:
intf_type = MEDIA_INTF_T_V4L_RADIO;
......@@ -766,7 +766,7 @@ static int video_register_media_controller(struct video_device *vdev, int type)
return 0;
}
if (vdev->entity.type != MEDIA_ENT_T_UNKNOWN) {
if (vdev->entity.function != MEDIA_ENT_T_UNKNOWN) {
vdev->entity.name = vdev->name;
/* Needed just for backward compatibility with legacy MC API */
......@@ -793,7 +793,7 @@ static int video_register_media_controller(struct video_device *vdev, int type)
return -ENOMEM;
}
if (vdev->entity.type != MEDIA_ENT_T_UNKNOWN) {
if (vdev->entity.function != MEDIA_ENT_T_UNKNOWN) {
struct media_link *link;
link = media_create_intf_link(&vdev->entity,
......
......@@ -655,7 +655,7 @@ struct v4l2_flash *v4l2_flash_init(
if (ret < 0)
return ERR_PTR(ret);
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
ret = v4l2_flash_init_controls(v4l2_flash, config);
if (ret < 0)
......
......@@ -535,9 +535,9 @@ v4l2_subdev_link_validate_get_format(struct media_pad *pad,
return v4l2_subdev_call(sd, pad, get_fmt, NULL, fmt);
}
WARN(pad->entity->type != MEDIA_ENT_T_V4L2_VIDEO,
WARN(pad->entity->function != MEDIA_ENT_T_V4L2_VIDEO,
"Driver bug! Wrong media entity type 0x%08x, entity %s\n",
pad->entity->type, pad->entity->name);
pad->entity->function, pad->entity->name);
return -EINVAL;
}
......@@ -584,7 +584,7 @@ void v4l2_subdev_init(struct v4l2_subdev *sd, const struct v4l2_subdev_ops *ops)
sd->host_priv = NULL;
#if defined(CONFIG_MEDIA_CONTROLLER)
sd->entity.name = sd->name;
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
#endif
}
EXPORT_SYMBOL(v4l2_subdev_init);
......
......@@ -152,7 +152,8 @@ struct media_entity_operations {
*
* @graph_obj: Embedded structure containing the media object common data.
* @name: Entity name.
* @type: Entity type, as defined in uapi/media.h (MEDIA_ENT_T_*)
* @function: Entity main function, as defined in uapi/media.h
* (MEDIA_ENT_F_*)
* @revision: Entity revision - OBSOLETE - should be removed soon.
* @flags: Entity flags, as defined in uapi/media.h (MEDIA_ENT_FL_*)
* @group_id: Entity group ID - OBSOLETE - should be removed soon.
......@@ -179,7 +180,7 @@ struct media_entity_operations {
struct media_entity {
struct media_gobj graph_obj; /* must be first field in struct */
const char *name;
u32 type;
u32 function;
u32 revision;
unsigned long flags;
u32 group_id;
......@@ -272,7 +273,7 @@ static inline bool is_media_entity_v4l2_io(struct media_entity *entity)
if (!entity)
return false;
switch (entity->type) {
switch (entity->function) {
case MEDIA_ENT_T_V4L2_VIDEO:
case MEDIA_ENT_T_V4L2_VBI:
case MEDIA_ENT_T_V4L2_SWRADIO:
......@@ -287,7 +288,7 @@ static inline bool is_media_entity_v4l2_subdev(struct media_entity *entity)
if (!entity)
return false;
switch (entity->type) {
switch (entity->function) {
case MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN:
case MEDIA_ENT_T_V4L2_SUBDEV_SENSOR:
case MEDIA_ENT_T_V4L2_SUBDEV_FLASH:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment