mirror of https://gitee.com/openkylin/linux.git
[media] uapi/media.h: Rename entities types to functions
Rename the userspace types from MEDIA_ENT_T_ to MEDIA_ENT_F_ and add the backward compatibility bits. The changes at the .c files was generated by the following coccinelle script: @@ @@ -MEDIA_ENT_T_UNKNOWN +MEDIA_ENT_F_UNKNOWN @@ @@ -MEDIA_ENT_T_DVB_BASE +MEDIA_ENT_F_DVB_BASE @@ @@ -MEDIA_ENT_T_V4L2_BASE +MEDIA_ENT_F_V4L2_BASE @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_BASE +MEDIA_ENT_F_V4L2_SUBDEV_BASE @@ @@ -MEDIA_ENT_T_CONNECTOR_BASE +MEDIA_ENT_F_CONNECTOR_BASE @@ @@ -MEDIA_ENT_T_V4L2_VIDEO +MEDIA_ENT_F_IO_V4L @@ @@ -MEDIA_ENT_T_V4L2_VBI +MEDIA_ENT_F_IO_VBI @@ @@ -MEDIA_ENT_T_V4L2_SWRADIO +MEDIA_ENT_F_IO_SWRADIO @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN +MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN @@ @@ -MEDIA_ENT_T_CONN_RF +MEDIA_ENT_F_CONN_RF @@ @@ -MEDIA_ENT_T_CONN_SVIDEO +MEDIA_ENT_F_CONN_SVIDEO @@ @@ -MEDIA_ENT_T_CONN_COMPOSITE +MEDIA_ENT_F_CONN_COMPOSITE @@ @@ -MEDIA_ENT_T_CONN_TEST +MEDIA_ENT_F_CONN_TEST @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_SENSOR +MEDIA_ENT_F_CAM_SENSOR @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_FLASH +MEDIA_ENT_F_FLASH @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_LENS +MEDIA_ENT_F_LENS @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_DECODER +MEDIA_ENT_F_ATV_DECODER @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_TUNER +MEDIA_ENT_F_TUNER @@ @@ -MEDIA_ENT_T_DVB_DEMOD +MEDIA_ENT_F_DTV_DEMOD @@ @@ -MEDIA_ENT_T_DVB_DEMUX +MEDIA_ENT_F_TS_DEMUX @@ @@ -MEDIA_ENT_T_DVB_TSOUT +MEDIA_ENT_F_IO_DTV @@ @@ -MEDIA_ENT_T_DVB_CA +MEDIA_ENT_F_DTV_CA @@ @@ -MEDIA_ENT_T_DVB_NET_DECAP +MEDIA_ENT_F_DTV_NET_DECAP Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
d87cdb8844
commit
4ca72efaef
|
@ -242,7 +242,7 @@ static int dvb_create_tsout_entity(struct dvb_device *dvbdev,
|
||||||
if (!entity->name)
|
if (!entity->name)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
entity->function = MEDIA_ENT_T_DVB_TSOUT;
|
entity->function = MEDIA_ENT_F_IO_DTV;
|
||||||
pads->flags = MEDIA_PAD_FL_SINK;
|
pads->flags = MEDIA_PAD_FL_SINK;
|
||||||
|
|
||||||
ret = media_entity_init(entity, 1, pads);
|
ret = media_entity_init(entity, 1, pads);
|
||||||
|
@ -315,18 +315,18 @@ static int dvb_create_media_entity(struct dvb_device *dvbdev,
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case DVB_DEVICE_FRONTEND:
|
case DVB_DEVICE_FRONTEND:
|
||||||
dvbdev->entity->function = MEDIA_ENT_T_DVB_DEMOD;
|
dvbdev->entity->function = MEDIA_ENT_F_DTV_DEMOD;
|
||||||
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
|
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
|
||||||
dvbdev->pads[1].flags = MEDIA_PAD_FL_SOURCE;
|
dvbdev->pads[1].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
break;
|
break;
|
||||||
case DVB_DEVICE_DEMUX:
|
case DVB_DEVICE_DEMUX:
|
||||||
dvbdev->entity->function = MEDIA_ENT_T_DVB_DEMUX;
|
dvbdev->entity->function = MEDIA_ENT_F_TS_DEMUX;
|
||||||
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
|
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
|
||||||
for (i = 1; i < npads; i++)
|
for (i = 1; i < npads; i++)
|
||||||
dvbdev->pads[i].flags = MEDIA_PAD_FL_SOURCE;
|
dvbdev->pads[i].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
break;
|
break;
|
||||||
case DVB_DEVICE_CA:
|
case DVB_DEVICE_CA:
|
||||||
dvbdev->entity->function = MEDIA_ENT_T_DVB_CA;
|
dvbdev->entity->function = MEDIA_ENT_F_DTV_CA;
|
||||||
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
|
dvbdev->pads[0].flags = MEDIA_PAD_FL_SINK;
|
||||||
dvbdev->pads[1].flags = MEDIA_PAD_FL_SOURCE;
|
dvbdev->pads[1].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
break;
|
break;
|
||||||
|
@ -556,16 +556,16 @@ int dvb_create_media_graph(struct dvb_adapter *adap)
|
||||||
|
|
||||||
media_device_for_each_entity(entity, mdev) {
|
media_device_for_each_entity(entity, mdev) {
|
||||||
switch (entity->function) {
|
switch (entity->function) {
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
|
case MEDIA_ENT_F_TUNER:
|
||||||
tuner = entity;
|
tuner = entity;
|
||||||
break;
|
break;
|
||||||
case MEDIA_ENT_T_DVB_DEMOD:
|
case MEDIA_ENT_F_DTV_DEMOD:
|
||||||
demod = entity;
|
demod = entity;
|
||||||
break;
|
break;
|
||||||
case MEDIA_ENT_T_DVB_DEMUX:
|
case MEDIA_ENT_F_TS_DEMUX:
|
||||||
demux = entity;
|
demux = entity;
|
||||||
break;
|
break;
|
||||||
case MEDIA_ENT_T_DVB_CA:
|
case MEDIA_ENT_F_DTV_CA:
|
||||||
ca = entity;
|
ca = entity;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -594,7 +594,7 @@ int dvb_create_media_graph(struct dvb_adapter *adap)
|
||||||
/* Create demux links for each ringbuffer/pad */
|
/* Create demux links for each ringbuffer/pad */
|
||||||
if (demux) {
|
if (demux) {
|
||||||
media_device_for_each_entity(entity, mdev) {
|
media_device_for_each_entity(entity, mdev) {
|
||||||
if (entity->function == MEDIA_ENT_T_DVB_TSOUT) {
|
if (entity->function == MEDIA_ENT_F_IO_DTV) {
|
||||||
if (!strncmp(entity->name, DVR_TSOUT,
|
if (!strncmp(entity->name, DVR_TSOUT,
|
||||||
strlen(DVR_TSOUT))) {
|
strlen(DVR_TSOUT))) {
|
||||||
ret = media_create_pad_link(demux,
|
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) {
|
media_device_for_each_entity(entity, mdev) {
|
||||||
if (entity->function == MEDIA_ENT_T_DVB_TSOUT) {
|
if (entity->function == MEDIA_ENT_F_IO_DTV) {
|
||||||
if (!strcmp(entity->name, DVR_TSOUT)) {
|
if (!strcmp(entity->name, DVR_TSOUT)) {
|
||||||
link = media_create_intf_link(entity,
|
link = media_create_intf_link(entity,
|
||||||
intf,
|
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_INPUT].flags = MEDIA_PAD_FL_SINK;
|
||||||
state->pads[AU8522_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
state->pads[AU8522_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
state->pads[AU8522_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
state->pads[AU8522_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
|
sd->entity.function = MEDIA_ENT_F_ATV_DECODER;
|
||||||
|
|
||||||
ret = media_entity_init(&sd->entity, ARRAY_SIZE(state->pads),
|
ret = media_entity_init(&sd->entity, ARRAY_SIZE(state->pads),
|
||||||
state->pads);
|
state->pads);
|
||||||
|
|
|
@ -516,7 +516,7 @@ static int adp1653_probe(struct i2c_client *client,
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto free_and_quit;
|
goto free_and_quit;
|
||||||
|
|
||||||
flash->subdev.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
|
flash->subdev.entity.function = MEDIA_ENT_F_FLASH;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -1213,7 +1213,7 @@ static int adv7180_probe(struct i2c_client *client,
|
||||||
goto err_unregister_vpp_client;
|
goto err_unregister_vpp_client;
|
||||||
|
|
||||||
state->pad.flags = MEDIA_PAD_FL_SOURCE;
|
state->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.flags |= MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
|
sd->entity.flags |= MEDIA_ENT_F_ATV_DECODER;
|
||||||
ret = media_entity_init(&sd->entity, 1, &state->pad);
|
ret = media_entity_init(&sd->entity, 1, &state->pad);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_free_ctrl;
|
goto err_free_ctrl;
|
||||||
|
|
|
@ -831,7 +831,7 @@ static int as3645a_probe(struct i2c_client *client,
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
flash->subdev.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
|
flash->subdev.entity.function = MEDIA_ENT_F_FLASH;
|
||||||
|
|
||||||
mutex_init(&flash->power_lock);
|
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_INPUT].flags = MEDIA_PAD_FL_SINK;
|
||||||
state->pads[CX25840_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
state->pads[CX25840_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
state->pads[CX25840_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
state->pads[CX25840_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
|
sd->entity.function = MEDIA_ENT_F_ATV_DECODER;
|
||||||
|
|
||||||
ret = media_entity_init(&sd->entity, ARRAY_SIZE(state->pads),
|
ret = media_entity_init(&sd->entity, ARRAY_SIZE(state->pads),
|
||||||
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);
|
rval = media_entity_init(&flash->subdev_led[led_no].entity, 0, NULL);
|
||||||
if (rval < 0)
|
if (rval < 0)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
flash->subdev_led[led_no].entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
|
flash->subdev_led[led_no].entity.function = MEDIA_ENT_F_FLASH;
|
||||||
|
|
||||||
return rval;
|
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);
|
rval = media_entity_init(&flash->subdev_led.entity, 0, NULL);
|
||||||
if (rval < 0)
|
if (rval < 0)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
flash->subdev_led.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
|
flash->subdev_led.entity.function = MEDIA_ENT_F_FLASH;
|
||||||
return rval;
|
return rval;
|
||||||
|
|
||||||
err_out:
|
err_out:
|
||||||
|
|
|
@ -978,7 +978,7 @@ static int m5mols_probe(struct i2c_client *client,
|
||||||
ret = media_entity_init(&sd->entity, 1, &info->pad);
|
ret = media_entity_init(&sd->entity, 1, &info->pad);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
|
|
||||||
init_waitqueue_head(&info->irq_waitq);
|
init_waitqueue_head(&info->irq_waitq);
|
||||||
mutex_init(&info->lock);
|
mutex_init(&info->lock);
|
||||||
|
|
|
@ -779,7 +779,7 @@ static int noon010_probe(struct i2c_client *client,
|
||||||
goto np_err;
|
goto np_err;
|
||||||
|
|
||||||
info->pad.flags = MEDIA_PAD_FL_SOURCE;
|
info->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, 1, &info->pad);
|
ret = media_entity_init(&sd->entity, 1, &info->pad);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto np_err;
|
goto np_err;
|
||||||
|
|
|
@ -1445,7 +1445,7 @@ static int ov2659_probe(struct i2c_client *client,
|
||||||
|
|
||||||
#if defined(CONFIG_MEDIA_CONTROLLER)
|
#if defined(CONFIG_MEDIA_CONTROLLER)
|
||||||
ov2659->pad.flags = MEDIA_PAD_FL_SOURCE;
|
ov2659->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, 1, &ov2659->pad);
|
ret = media_entity_init(&sd->entity, 1, &ov2659->pad);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
v4l2_ctrl_handler_free(&ov2659->ctrls);
|
v4l2_ctrl_handler_free(&ov2659->ctrls);
|
||||||
|
|
|
@ -1500,7 +1500,7 @@ static int ov965x_probe(struct i2c_client *client,
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ov965x->pad.flags = MEDIA_PAD_FL_SOURCE;
|
ov965x->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, 1, &ov965x->pad);
|
ret = media_entity_init(&sd->entity, 1, &ov965x->pad);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
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_JPEG_PAD].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
state->sensor_pads[S5C73M3_ISP_PAD].flags = MEDIA_PAD_FL_SOURCE;
|
state->sensor_pads[S5C73M3_ISP_PAD].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
|
|
||||||
ret = media_entity_init(&sd->entity, S5C73M3_NUM_PADS,
|
ret = media_entity_init(&sd->entity, S5C73M3_NUM_PADS,
|
||||||
state->sensor_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_ISP_PAD].flags = MEDIA_PAD_FL_SINK;
|
||||||
state->oif_pads[OIF_JPEG_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;
|
state->oif_pads[OIF_SOURCE_PAD].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
oif_sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
|
oif_sd->entity.function = MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN;
|
||||||
|
|
||||||
ret = media_entity_init(&oif_sd->entity, OIF_NUM_PADS,
|
ret = media_entity_init(&oif_sd->entity, OIF_NUM_PADS,
|
||||||
state->oif_pads);
|
state->oif_pads);
|
||||||
|
|
|
@ -961,7 +961,7 @@ static int s5k4ecgx_probe(struct i2c_client *client,
|
||||||
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
||||||
|
|
||||||
priv->pad.flags = MEDIA_PAD_FL_SOURCE;
|
priv->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, 1, &priv->pad);
|
ret = media_entity_init(&sd->entity, 1, &priv->pad);
|
||||||
if (ret)
|
if (ret)
|
||||||
return 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)
|
static inline bool s5k5baf_is_cis_subdev(struct v4l2_subdev *sd)
|
||||||
{
|
{
|
||||||
return sd->entity.function == MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
return sd->entity.function == MEDIA_ENT_F_CAM_SENSOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline struct s5k5baf *to_s5k5baf(struct v4l2_subdev *sd)
|
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;
|
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
||||||
|
|
||||||
state->cis_pad.flags = MEDIA_PAD_FL_SOURCE;
|
state->cis_pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, NUM_CIS_PADS, &state->cis_pad);
|
ret = media_entity_init(&sd->entity, NUM_CIS_PADS, &state->cis_pad);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto err;
|
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_CIS].flags = MEDIA_PAD_FL_SINK;
|
||||||
state->pads[PAD_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
state->pads[PAD_OUT].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
|
sd->entity.function = MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN;
|
||||||
ret = media_entity_init(&sd->entity, NUM_ISP_PADS, state->pads);
|
ret = media_entity_init(&sd->entity, NUM_ISP_PADS, state->pads);
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
|
|
|
@ -1577,7 +1577,7 @@ static int s5k6aa_probe(struct i2c_client *client,
|
||||||
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
||||||
|
|
||||||
s5k6aa->pad.flags = MEDIA_PAD_FL_SOURCE;
|
s5k6aa->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, 1, &s5k6aa->pad);
|
ret = media_entity_init(&sd->entity, 1, &s5k6aa->pad);
|
||||||
if (ret)
|
if (ret)
|
||||||
return 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);
|
dev_dbg(&client->dev, "profile %d\n", sensor->minfo.smiapp_profile);
|
||||||
|
|
||||||
sensor->pixel_array->sd.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sensor->pixel_array->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
|
||||||
|
|
||||||
/* final steps */
|
/* final steps */
|
||||||
smiapp_read_frame_fmt(sensor);
|
smiapp_read_frame_fmt(sensor);
|
||||||
|
|
|
@ -1095,7 +1095,7 @@ tvp514x_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||||
#if defined(CONFIG_MEDIA_CONTROLLER)
|
#if defined(CONFIG_MEDIA_CONTROLLER)
|
||||||
decoder->pad.flags = MEDIA_PAD_FL_SOURCE;
|
decoder->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
decoder->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
decoder->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
||||||
decoder->sd.entity.flags |= MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
|
decoder->sd.entity.flags |= MEDIA_ENT_F_ATV_DECODER;
|
||||||
|
|
||||||
ret = media_entity_init(&decoder->sd.entity, 1, &decoder->pad);
|
ret = media_entity_init(&decoder->sd.entity, 1, &decoder->pad);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
|
|
@ -1012,7 +1012,7 @@ static int tvp7002_probe(struct i2c_client *c, const struct i2c_device_id *id)
|
||||||
#if defined(CONFIG_MEDIA_CONTROLLER)
|
#if defined(CONFIG_MEDIA_CONTROLLER)
|
||||||
device->pad.flags = MEDIA_PAD_FL_SOURCE;
|
device->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
device->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
device->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
|
||||||
device->sd.entity.flags |= MEDIA_ENT_T_V4L2_SUBDEV_DECODER;
|
device->sd.entity.flags |= MEDIA_ENT_F_ATV_DECODER;
|
||||||
|
|
||||||
error = media_entity_init(&device->sd.entity, 1, &device->pad);
|
error = media_entity_init(&device->sd.entity, 1, &device->pad);
|
||||||
if (error < 0)
|
if (error < 0)
|
||||||
|
|
|
@ -611,8 +611,8 @@ int __must_check media_device_register_entity(struct media_device *mdev,
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (entity->function == MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN ||
|
if (entity->function == MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN ||
|
||||||
entity->function == MEDIA_ENT_T_UNKNOWN)
|
entity->function == MEDIA_ENT_F_UNKNOWN)
|
||||||
dev_warn(mdev->dev,
|
dev_warn(mdev->dev,
|
||||||
"Entity type for entity %s was not initialized!\n",
|
"Entity type for entity %s was not initialized!\n",
|
||||||
entity->name);
|
entity->name);
|
||||||
|
|
|
@ -191,7 +191,7 @@ static int xvip_pipeline_validate(struct xvip_pipeline *pipe,
|
||||||
while ((entity = media_entity_graph_walk_next(&graph))) {
|
while ((entity = media_entity_graph_walk_next(&graph))) {
|
||||||
struct xvip_dma *dma;
|
struct xvip_dma *dma;
|
||||||
|
|
||||||
if (entity->function != MEDIA_ENT_T_V4L2_VIDEO)
|
if (entity->function != MEDIA_ENT_F_IO_V4L)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
dma = to_xvip_dma(media_entity_to_video_device(entity));
|
dma = to_xvip_dma(media_entity_to_video_device(entity));
|
||||||
|
|
|
@ -266,10 +266,10 @@ static int au0828_create_media_graph(struct au0828_dev *dev)
|
||||||
|
|
||||||
media_device_for_each_entity(entity, mdev) {
|
media_device_for_each_entity(entity, mdev) {
|
||||||
switch (entity->function) {
|
switch (entity->function) {
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
|
case MEDIA_ENT_F_TUNER:
|
||||||
tuner = entity;
|
tuner = entity;
|
||||||
break;
|
break;
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_DECODER:
|
case MEDIA_ENT_F_ATV_DECODER:
|
||||||
decoder = entity;
|
decoder = entity;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1832,18 +1832,18 @@ static void au0828_analog_create_entities(struct au0828_dev *dev)
|
||||||
|
|
||||||
switch (AUVI_INPUT(i).type) {
|
switch (AUVI_INPUT(i).type) {
|
||||||
case AU0828_VMUX_COMPOSITE:
|
case AU0828_VMUX_COMPOSITE:
|
||||||
ent->function = MEDIA_ENT_T_CONN_COMPOSITE;
|
ent->function = MEDIA_ENT_F_CONN_COMPOSITE;
|
||||||
break;
|
break;
|
||||||
case AU0828_VMUX_SVIDEO:
|
case AU0828_VMUX_SVIDEO:
|
||||||
ent->function = MEDIA_ENT_T_CONN_SVIDEO;
|
ent->function = MEDIA_ENT_F_CONN_SVIDEO;
|
||||||
break;
|
break;
|
||||||
case AU0828_VMUX_CABLE:
|
case AU0828_VMUX_CABLE:
|
||||||
case AU0828_VMUX_TELEVISION:
|
case AU0828_VMUX_TELEVISION:
|
||||||
case AU0828_VMUX_DVB:
|
case AU0828_VMUX_DVB:
|
||||||
ent->function = MEDIA_ENT_T_CONN_RF;
|
ent->function = MEDIA_ENT_F_CONN_RF;
|
||||||
break;
|
break;
|
||||||
default: /* AU0828_VMUX_DEBUG */
|
default: /* AU0828_VMUX_DEBUG */
|
||||||
ent->function = MEDIA_ENT_T_CONN_TEST;
|
ent->function = MEDIA_ENT_F_CONN_TEST;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1250,10 +1250,10 @@ static int cx231xx_create_media_graph(struct cx231xx *dev)
|
||||||
|
|
||||||
media_device_for_each_entity(entity, mdev) {
|
media_device_for_each_entity(entity, mdev) {
|
||||||
switch (entity->function) {
|
switch (entity->function) {
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
|
case MEDIA_ENT_F_TUNER:
|
||||||
tuner = entity;
|
tuner = entity;
|
||||||
break;
|
break;
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_DECODER:
|
case MEDIA_ENT_F_ATV_DECODER:
|
||||||
decoder = entity;
|
decoder = entity;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,7 +119,7 @@ static int cx231xx_enable_analog_tuner(struct cx231xx *dev)
|
||||||
* this should be enough for the actual needs.
|
* this should be enough for the actual needs.
|
||||||
*/
|
*/
|
||||||
media_device_for_each_entity(entity, mdev) {
|
media_device_for_each_entity(entity, mdev) {
|
||||||
if (entity->function == MEDIA_ENT_T_V4L2_SUBDEV_DECODER) {
|
if (entity->function == MEDIA_ENT_F_ATV_DECODER) {
|
||||||
decoder = entity;
|
decoder = entity;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -698,7 +698,7 @@ static int tuner_probe(struct i2c_client *client,
|
||||||
#if defined(CONFIG_MEDIA_CONTROLLER)
|
#if defined(CONFIG_MEDIA_CONTROLLER)
|
||||||
t->pad[TUNER_PAD_RF_INPUT].flags = MEDIA_PAD_FL_SINK;
|
t->pad[TUNER_PAD_RF_INPUT].flags = MEDIA_PAD_FL_SINK;
|
||||||
t->pad[TUNER_PAD_IF_OUTPUT].flags = MEDIA_PAD_FL_SOURCE;
|
t->pad[TUNER_PAD_IF_OUTPUT].flags = MEDIA_PAD_FL_SOURCE;
|
||||||
t->sd.entity.function = MEDIA_ENT_T_V4L2_SUBDEV_TUNER;
|
t->sd.entity.function = MEDIA_ENT_F_TUNER;
|
||||||
t->sd.entity.name = t->name;
|
t->sd.entity.name = t->name;
|
||||||
|
|
||||||
ret = media_entity_init(&t->sd.entity, TUNER_NUM_PADS, &t->pad[0]);
|
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) {
|
if (v4l2_dev->mdev) {
|
||||||
/* Remove interfaces and interface links */
|
/* Remove interfaces and interface links */
|
||||||
media_devnode_remove(vdev->intf_devnode);
|
media_devnode_remove(vdev->intf_devnode);
|
||||||
if (vdev->entity.function != MEDIA_ENT_T_UNKNOWN)
|
if (vdev->entity.function != MEDIA_ENT_F_UNKNOWN)
|
||||||
media_device_unregister_entity(&vdev->entity);
|
media_device_unregister_entity(&vdev->entity);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -735,20 +735,20 @@ static int video_register_media_controller(struct video_device *vdev, int type)
|
||||||
if (!vdev->v4l2_dev->mdev)
|
if (!vdev->v4l2_dev->mdev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
vdev->entity.function = MEDIA_ENT_T_UNKNOWN;
|
vdev->entity.function = MEDIA_ENT_F_UNKNOWN;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case VFL_TYPE_GRABBER:
|
case VFL_TYPE_GRABBER:
|
||||||
intf_type = MEDIA_INTF_T_V4L_VIDEO;
|
intf_type = MEDIA_INTF_T_V4L_VIDEO;
|
||||||
vdev->entity.function = MEDIA_ENT_T_V4L2_VIDEO;
|
vdev->entity.function = MEDIA_ENT_F_IO_V4L;
|
||||||
break;
|
break;
|
||||||
case VFL_TYPE_VBI:
|
case VFL_TYPE_VBI:
|
||||||
intf_type = MEDIA_INTF_T_V4L_VBI;
|
intf_type = MEDIA_INTF_T_V4L_VBI;
|
||||||
vdev->entity.function = MEDIA_ENT_T_V4L2_VBI;
|
vdev->entity.function = MEDIA_ENT_F_IO_VBI;
|
||||||
break;
|
break;
|
||||||
case VFL_TYPE_SDR:
|
case VFL_TYPE_SDR:
|
||||||
intf_type = MEDIA_INTF_T_V4L_SWRADIO;
|
intf_type = MEDIA_INTF_T_V4L_SWRADIO;
|
||||||
vdev->entity.function = MEDIA_ENT_T_V4L2_SWRADIO;
|
vdev->entity.function = MEDIA_ENT_F_IO_SWRADIO;
|
||||||
break;
|
break;
|
||||||
case VFL_TYPE_RADIO:
|
case VFL_TYPE_RADIO:
|
||||||
intf_type = MEDIA_INTF_T_V4L_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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vdev->entity.function != MEDIA_ENT_T_UNKNOWN) {
|
if (vdev->entity.function != MEDIA_ENT_F_UNKNOWN) {
|
||||||
vdev->entity.name = vdev->name;
|
vdev->entity.name = vdev->name;
|
||||||
|
|
||||||
/* Needed just for backward compatibility with legacy MC API */
|
/* 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;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vdev->entity.function != MEDIA_ENT_T_UNKNOWN) {
|
if (vdev->entity.function != MEDIA_ENT_F_UNKNOWN) {
|
||||||
struct media_link *link;
|
struct media_link *link;
|
||||||
|
|
||||||
link = media_create_intf_link(&vdev->entity,
|
link = media_create_intf_link(&vdev->entity,
|
||||||
|
|
|
@ -655,7 +655,7 @@ struct v4l2_flash *v4l2_flash_init(
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
|
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
|
sd->entity.function = MEDIA_ENT_F_FLASH;
|
||||||
|
|
||||||
ret = v4l2_flash_init_controls(v4l2_flash, config);
|
ret = v4l2_flash_init_controls(v4l2_flash, config);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
|
|
@ -535,7 +535,7 @@ v4l2_subdev_link_validate_get_format(struct media_pad *pad,
|
||||||
return v4l2_subdev_call(sd, pad, get_fmt, NULL, fmt);
|
return v4l2_subdev_call(sd, pad, get_fmt, NULL, fmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
WARN(pad->entity->function != MEDIA_ENT_T_V4L2_VIDEO,
|
WARN(pad->entity->function != MEDIA_ENT_F_IO_V4L,
|
||||||
"Driver bug! Wrong media entity type 0x%08x, entity %s\n",
|
"Driver bug! Wrong media entity type 0x%08x, entity %s\n",
|
||||||
pad->entity->function, pad->entity->name);
|
pad->entity->function, pad->entity->name);
|
||||||
|
|
||||||
|
@ -584,7 +584,7 @@ void v4l2_subdev_init(struct v4l2_subdev *sd, const struct v4l2_subdev_ops *ops)
|
||||||
sd->host_priv = NULL;
|
sd->host_priv = NULL;
|
||||||
#if defined(CONFIG_MEDIA_CONTROLLER)
|
#if defined(CONFIG_MEDIA_CONTROLLER)
|
||||||
sd->entity.name = sd->name;
|
sd->entity.name = sd->name;
|
||||||
sd->entity.function = MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN;
|
sd->entity.function = MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(v4l2_subdev_init);
|
EXPORT_SYMBOL(v4l2_subdev_init);
|
||||||
|
|
|
@ -274,9 +274,9 @@ static inline bool is_media_entity_v4l2_io(struct media_entity *entity)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
switch (entity->function) {
|
switch (entity->function) {
|
||||||
case MEDIA_ENT_T_V4L2_VIDEO:
|
case MEDIA_ENT_F_IO_V4L:
|
||||||
case MEDIA_ENT_T_V4L2_VBI:
|
case MEDIA_ENT_F_IO_VBI:
|
||||||
case MEDIA_ENT_T_V4L2_SWRADIO:
|
case MEDIA_ENT_F_IO_SWRADIO:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -289,12 +289,12 @@ static inline bool is_media_entity_v4l2_subdev(struct media_entity *entity)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
switch (entity->function) {
|
switch (entity->function) {
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN:
|
case MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN:
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_SENSOR:
|
case MEDIA_ENT_F_CAM_SENSOR:
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_FLASH:
|
case MEDIA_ENT_F_FLASH:
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_LENS:
|
case MEDIA_ENT_F_LENS:
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_DECODER:
|
case MEDIA_ENT_F_ATV_DECODER:
|
||||||
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
|
case MEDIA_ENT_F_TUNER:
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -46,87 +46,93 @@ struct media_device_info {
|
||||||
* Initial value to be used when a new entity is created
|
* Initial value to be used when a new entity is created
|
||||||
* Drivers should change it to something useful
|
* Drivers should change it to something useful
|
||||||
*/
|
*/
|
||||||
#define MEDIA_ENT_T_UNKNOWN 0x00000000
|
#define MEDIA_ENT_F_UNKNOWN 0x00000000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Base numbers for entity types
|
* Base number ranges for entity functions
|
||||||
*
|
*
|
||||||
* Please notice that the huge gap of 16 bits for each base is overkill!
|
* NOTE: those ranges and entity function number are phased just to
|
||||||
* 8 bits is more than enough to avoid starving entity types for each
|
* make it easier to maintain this file. Userspace should not rely on
|
||||||
* subsystem.
|
* the ranges to identify a group of function types, as newer
|
||||||
|
* functions can be added with any name within the full u32 range.
|
||||||
|
*/
|
||||||
|
#define MEDIA_ENT_F_BASE 0x00000000
|
||||||
|
#define MEDIA_ENT_F_OLD_BASE 0x00010000
|
||||||
|
#define MEDIA_ENT_F_OLD_SUBDEV_BASE 0x00020000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DVB entities
|
||||||
|
*/
|
||||||
|
#define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 1)
|
||||||
|
#define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 2)
|
||||||
|
#define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 3)
|
||||||
|
#define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 4)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Connectors
|
||||||
|
*/
|
||||||
|
#define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 21)
|
||||||
|
#define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 22)
|
||||||
|
#define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 23)
|
||||||
|
/* For internal test signal generators and other debug connectors */
|
||||||
|
#define MEDIA_ENT_F_CONN_TEST (MEDIA_ENT_F_BASE + 24)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* I/O entities
|
||||||
|
*/
|
||||||
|
#define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 31)
|
||||||
|
#define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 32)
|
||||||
|
#define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 33)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and
|
||||||
|
* MEDIA_ENT_F_OLD_SUBDEV_BASE are kept to keep backward compatibility
|
||||||
|
* with the legacy v1 API.The number range is out of range by purpose:
|
||||||
|
* several previously reserved numbers got excluded from this range.
|
||||||
*
|
*
|
||||||
* However, It is kept this way just to avoid binary breakages with the
|
|
||||||
* namespace provided on legacy versions of this header.
|
|
||||||
*/
|
|
||||||
#define MEDIA_ENT_T_DVB_BASE 0x00000000
|
|
||||||
#define MEDIA_ENT_T_V4L2_BASE 0x00010000
|
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_BASE 0x00020000
|
|
||||||
#define MEDIA_ENT_T_CONNECTOR_BASE 0x00030000
|
|
||||||
|
|
||||||
/*
|
|
||||||
* V4L2 entities - Those are used for DMA (mmap/DMABUF) and
|
|
||||||
* read()/write() data I/O associated with the V4L2 devnodes.
|
|
||||||
*/
|
|
||||||
#define MEDIA_ENT_T_V4L2_VIDEO (MEDIA_ENT_T_V4L2_BASE + 1)
|
|
||||||
/*
|
|
||||||
* Please notice that numbers between MEDIA_ENT_T_V4L2_BASE + 2 and
|
|
||||||
* MEDIA_ENT_T_V4L2_BASE + 4 can't be used, as those values used
|
|
||||||
* to be declared for FB, ALSA and DVB entities.
|
|
||||||
* As those values were never actually used in practice, we're just
|
|
||||||
* adding them as backward compatibility macros and keeping the
|
|
||||||
* numberspace clean here. This way, we avoid breaking compilation,
|
|
||||||
* in the case of having some userspace application using the old
|
|
||||||
* symbols.
|
|
||||||
*/
|
|
||||||
#define MEDIA_ENT_T_V4L2_VBI (MEDIA_ENT_T_V4L2_BASE + 5)
|
|
||||||
#define MEDIA_ENT_T_V4L2_SWRADIO (MEDIA_ENT_T_V4L2_BASE + 6)
|
|
||||||
|
|
||||||
/* V4L2 Sub-device entities */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Subdevs are initialized with MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN,
|
* Subdevs are initialized with MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN,
|
||||||
* in order to preserve backward compatibility.
|
* in order to preserve backward compatibility.
|
||||||
* Drivers should change to the proper subdev type before
|
* Drivers should change to the proper subdev type before
|
||||||
* registering the entity.
|
* registering the entity.
|
||||||
*/
|
*/
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_T_V4L2_SUBDEV_BASE
|
|
||||||
|
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 1)
|
#define MEDIA_ENT_F_IO_V4L (MEDIA_ENT_F_OLD_BASE + 1)
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 2)
|
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 3)
|
|
||||||
/* A converter of analogue video to its digital representation. */
|
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 4)
|
|
||||||
/* Tuner entity is actually both V4L2 and DVB subdev */
|
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 5)
|
|
||||||
|
|
||||||
/* DVB entities */
|
#define MEDIA_ENT_F_CAM_SENSOR (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1)
|
||||||
#define MEDIA_ENT_T_DVB_DEMOD (MEDIA_ENT_T_DVB_BASE + 1)
|
#define MEDIA_ENT_F_FLASH (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2)
|
||||||
#define MEDIA_ENT_T_DVB_DEMUX (MEDIA_ENT_T_DVB_BASE + 2)
|
#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
|
||||||
#define MEDIA_ENT_T_DVB_TSOUT (MEDIA_ENT_T_DVB_BASE + 3)
|
#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
|
||||||
#define MEDIA_ENT_T_DVB_CA (MEDIA_ENT_T_DVB_BASE + 4)
|
#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
|
||||||
#define MEDIA_ENT_T_DVB_NET_DECAP (MEDIA_ENT_T_DVB_BASE + 5)
|
|
||||||
|
|
||||||
/* Connectors */
|
#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_F_OLD_SUBDEV_BASE
|
||||||
#define MEDIA_ENT_T_CONN_RF (MEDIA_ENT_T_CONNECTOR_BASE + 1)
|
|
||||||
#define MEDIA_ENT_T_CONN_SVIDEO (MEDIA_ENT_T_CONNECTOR_BASE + 2)
|
|
||||||
#define MEDIA_ENT_T_CONN_COMPOSITE (MEDIA_ENT_T_CONNECTOR_BASE + 3)
|
|
||||||
/* For internal test signal generators and other debug connectors */
|
|
||||||
#define MEDIA_ENT_T_CONN_TEST (MEDIA_ENT_T_CONNECTOR_BASE + 4)
|
|
||||||
|
|
||||||
#ifndef __KERNEL__
|
#ifndef __KERNEL__
|
||||||
/* Legacy symbols used to avoid userspace compilation breakages */
|
|
||||||
|
/*
|
||||||
|
* Legacy symbols used to avoid userspace compilation breakages
|
||||||
|
*
|
||||||
|
* Those symbols map the entity function into types and should be
|
||||||
|
* used only on legacy programs for legacy hardware. Don't rely
|
||||||
|
* on those for MEDIA_IOC_G_TOPOLOGY.
|
||||||
|
*/
|
||||||
#define MEDIA_ENT_TYPE_SHIFT 16
|
#define MEDIA_ENT_TYPE_SHIFT 16
|
||||||
#define MEDIA_ENT_TYPE_MASK 0x00ff0000
|
#define MEDIA_ENT_TYPE_MASK 0x00ff0000
|
||||||
#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
|
#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
|
||||||
|
|
||||||
#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_T_V4L2_BASE
|
#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_F_OLD_BASE
|
||||||
#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_T_V4L2_SUBDEV_BASE
|
#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_F_IO_V4L
|
||||||
|
|
||||||
#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_T_V4L2_VIDEO
|
|
||||||
|
|
||||||
#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
|
#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
|
||||||
#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
|
#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
|
||||||
#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
|
#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
|
||||||
|
|
||||||
|
#define MEDIA_ENT_T_UNKNOWN MEDIA_ENT_F_UNKNOWN
|
||||||
|
#define MEDIA_ENT_T_V4L2_VIDEO MEDIA_ENT_F_IO_V4L
|
||||||
|
#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
|
||||||
|
#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR
|
||||||
|
#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH MEDIA_ENT_F_FLASH
|
||||||
|
#define MEDIA_ENT_T_V4L2_SUBDEV_LENS MEDIA_ENT_F_LENS
|
||||||
|
#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER MEDIA_ENT_F_ATV_DECODER
|
||||||
|
#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER MEDIA_ENT_F_TUNER
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Entity flags */
|
/* Entity flags */
|
||||||
|
|
Loading…
Reference in New Issue