[media] smiapp: create pad links after subdev registration

The smiapp driver creates the pads links before the media entity is
registered with the media device. This doesn't work now that object
IDs are used to create links so the media_device has to be set.

Move entity registration logic before pads links creation.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Javier Martinez Canillas 2015-09-03 09:00:27 -03:00 committed by Mauro Carvalho Chehab
parent c5a98cac6e
commit ada58ced50

View File

@ -2495,18 +2495,6 @@ static int smiapp_register_subdevs(struct smiapp_sensor *sensor)
return rval;
}
rval = media_create_pad_link(&this->sd.entity,
this->source_pad,
&last->sd.entity,
last->sink_pad,
MEDIA_LNK_FL_ENABLED |
MEDIA_LNK_FL_IMMUTABLE);
if (rval) {
dev_err(&client->dev,
"media_create_pad_link failed\n");
return rval;
}
rval = v4l2_device_register_subdev(sensor->src->sd.v4l2_dev,
&this->sd);
if (rval) {
@ -2514,6 +2502,18 @@ static int smiapp_register_subdevs(struct smiapp_sensor *sensor)
"v4l2_device_register_subdev failed\n");
return rval;
}
rval = media_create_pad_link(&this->sd.entity,
this->source_pad,
&last->sd.entity,
last->sink_pad,
MEDIA_LNK_FL_ENABLED |
MEDIA_LNK_FL_IMMUTABLE);
if (rval) {
dev_err(&client->dev,
"media_create_pad_link failed\n");
return rval;
}
}
return 0;