{
int ret;
- ret = omap3isp_csi2_create_pads_links(isp);
- if (ret < 0) {
- dev_err(isp->dev, "CSI2 pads links creation failed\n");
+ /* Create links between entities and video nodes. */
+ ret = media_create_pad_link(
+ &isp->isp_csi2a.subdev.entity, CSI2_PAD_SOURCE,
+ &isp->isp_csi2a.video_out.video.entity, 0, 0);
+ if (ret < 0)
return ret;
- }
- ret = omap3isp_ccp2_create_pads_links(isp);
- if (ret < 0) {
- dev_err(isp->dev, "CCP2 pads links creation failed\n");
+ ret = media_create_pad_link(
+ &isp->isp_ccp2.video_in.video.entity, 0,
+ &isp->isp_ccp2.subdev.entity, CCP2_PAD_SINK, 0);
+ if (ret < 0)
return ret;
- }
- ret = omap3isp_ccdc_create_pads_links(isp);
- if (ret < 0) {
- dev_err(isp->dev, "CCDC pads links creation failed\n");
+ ret = media_create_pad_link(
+ &isp->isp_ccdc.subdev.entity, CCDC_PAD_SOURCE_OF,
+ &isp->isp_ccdc.video_out.video.entity, 0, 0);
+ if (ret < 0)
return ret;
- }
- ret = omap3isp_preview_create_pads_links(isp);
- if (ret < 0) {
- dev_err(isp->dev, "Preview pads links creation failed\n");
+ ret = media_create_pad_link(
+ &isp->isp_prev.video_in.video.entity, 0,
+ &isp->isp_prev.subdev.entity, PREV_PAD_SINK, 0);
+ if (ret < 0)
return ret;
- }
- ret = omap3isp_resizer_create_pads_links(isp);
- if (ret < 0) {
- dev_err(isp->dev, "Resizer pads links creation failed\n");
+ ret = media_create_pad_link(
+ &isp->isp_prev.subdev.entity, PREV_PAD_SOURCE,
+ &isp->isp_prev.video_out.video.entity, 0, 0);
+ if (ret < 0)
+ return ret;
+
+ ret = media_create_pad_link(
+ &isp->isp_res.video_in.video.entity, 0,
+ &isp->isp_res.subdev.entity, RESZ_PAD_SINK, 0);
+ if (ret < 0)
+ return ret;
+
+ ret = media_create_pad_link(
+ &isp->isp_res.subdev.entity, RESZ_PAD_SOURCE,
+ &isp->isp_res.video_out.video.entity, 0, 0);
+
+ if (ret < 0)
return ret;
- }
- /* Connect the submodules. */
+ /* Create links between entities. */
ret = media_create_pad_link(
&isp->isp_csi2a.subdev.entity, CSI2_PAD_SOURCE,
&isp->isp_ccdc.subdev.entity, CCDC_PAD_SINK, 0);
return 0;
}
-/*
- * omap3isp_ccdc_create_pads_links - CCDC pads links creation
- * @isp : Pointer to ISP device
- * return negative error code or zero on success
- */
-int omap3isp_ccdc_create_pads_links(struct isp_device *isp)
-{
- struct isp_ccdc_device *ccdc = &isp->isp_ccdc;
-
- /* Connect the CCDC subdev to the video node. */
- return media_create_pad_link(&ccdc->subdev.entity, CCDC_PAD_SOURCE_OF,
- &ccdc->video_out.video.entity, 0, 0);
-}
-
/*
* omap3isp_ccdc_cleanup - CCDC module cleanup.
* @isp: Device pointer specific to the OMAP3 ISP.
struct isp_device;
int omap3isp_ccdc_init(struct isp_device *isp);
-int omap3isp_ccdc_create_pads_links(struct isp_device *isp);
void omap3isp_ccdc_cleanup(struct isp_device *isp);
int omap3isp_ccdc_register_entities(struct isp_ccdc_device *ccdc,
struct v4l2_device *vdev);
return 0;
}
-/*
- * omap3isp_ccp2_create_pads_links - CCP2 pads links creation
- * @isp : Pointer to ISP device
- * return negative error code or zero on success
- */
-int omap3isp_ccp2_create_pads_links(struct isp_device *isp)
-{
- struct isp_ccp2_device *ccp2 = &isp->isp_ccp2;
-
- /* Connect the video node to the ccp2 subdev. */
- return media_create_pad_link(&ccp2->video_in.video.entity, 0,
- &ccp2->subdev.entity, CCP2_PAD_SINK, 0);
-}
-
/*
* omap3isp_ccp2_cleanup - CCP2 un-initialization
* @isp : Pointer to ISP device
/* Function declarations */
int omap3isp_ccp2_init(struct isp_device *isp);
-int omap3isp_ccp2_create_pads_links(struct isp_device *isp);
void omap3isp_ccp2_cleanup(struct isp_device *isp);
int omap3isp_ccp2_register_entities(struct isp_ccp2_device *ccp2,
struct v4l2_device *vdev);
return 0;
}
-/*
- * omap3isp_csi2_create_pads_links - CSI2 pads links creation
- * @isp : Pointer to ISP device
- * return negative error code or zero on success
- */
-int omap3isp_csi2_create_pads_links(struct isp_device *isp)
-{
- struct isp_csi2_device *csi2a = &isp->isp_csi2a;
-
- /* Connect the CSI2 subdev to the video node. */
- return media_create_pad_link(&csi2a->subdev.entity, CSI2_PAD_SOURCE,
- &csi2a->video_out.video.entity, 0, 0);
-}
-
/*
* omap3isp_csi2_cleanup - Routine for module driver cleanup
*/
void omap3isp_csi2_isr(struct isp_csi2_device *csi2);
int omap3isp_csi2_reset(struct isp_csi2_device *csi2);
int omap3isp_csi2_init(struct isp_device *isp);
-int omap3isp_csi2_create_pads_links(struct isp_device *isp);
void omap3isp_csi2_cleanup(struct isp_device *isp);
void omap3isp_csi2_unregister_entities(struct isp_csi2_device *csi2);
int omap3isp_csi2_register_entities(struct isp_csi2_device *csi2,
return preview_init_entities(prev);
}
-/*
- * omap3isp_preview_create_pads_links - Previewer pads links creation
- * @isp : Pointer to ISP device
- * return negative error code or zero on success
- */
-int omap3isp_preview_create_pads_links(struct isp_device *isp)
-{
- struct isp_prev_device *prev = &isp->isp_prev;
- int ret;
-
- /* Connect the video nodes to the previewer subdev. */
- ret = media_create_pad_link(&prev->video_in.video.entity, 0,
- &prev->subdev.entity, PREV_PAD_SINK, 0);
- if (ret < 0)
- return ret;
-
- return media_create_pad_link(&prev->subdev.entity, PREV_PAD_SOURCE,
- &prev->video_out.video.entity, 0, 0);
-}
-
void omap3isp_preview_cleanup(struct isp_device *isp)
{
struct isp_prev_device *prev = &isp->isp_prev;
struct isp_device;
int omap3isp_preview_init(struct isp_device *isp);
-int omap3isp_preview_create_pads_links(struct isp_device *isp);
void omap3isp_preview_cleanup(struct isp_device *isp);
int omap3isp_preview_register_entities(struct isp_prev_device *prv,
return resizer_init_entities(res);
}
-/*
- * omap3isp_resizer_create_pads_links - Resizer pads links creation
- * @isp : Pointer to ISP device
- * return negative error code or zero on success
- */
-int omap3isp_resizer_create_pads_links(struct isp_device *isp)
-{
- struct isp_res_device *res = &isp->isp_res;
- int ret;
-
- /* Connect the video nodes to the resizer subdev. */
- ret = media_create_pad_link(&res->video_in.video.entity, 0,
- &res->subdev.entity, RESZ_PAD_SINK, 0);
- if (ret < 0)
- return ret;
-
- return media_create_pad_link(&res->subdev.entity, RESZ_PAD_SOURCE,
- &res->video_out.video.entity, 0, 0);
-}
-
void omap3isp_resizer_cleanup(struct isp_device *isp)
{
struct isp_res_device *res = &isp->isp_res;
struct isp_device;
int omap3isp_resizer_init(struct isp_device *isp);
-int omap3isp_resizer_create_pads_links(struct isp_device *isp);
void omap3isp_resizer_cleanup(struct isp_device *isp);
int omap3isp_resizer_register_entities(struct isp_res_device *res,