Message ID | 20240109041500.2790754-1-hidenorik@chromium.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] media: staging: ipu3-imgu: Set fields before media_entity_pads_init() | expand |
On Tue, Jan 09, 2024 at 01:14:59PM +0900, Hidenori Kobayashi wrote: > The imgu driver fails to probe because it does not set the pad's flags > before calling media_entity_pads_init(). Fix the initialization order so > that the driver probe succeeds. The ops initialization is also moved > together for readability. > Wait, I was really hoping you would include these lines in the commit message: the imgu driver fails to probe with the following message: [ 14.596315] ipu3-imgu 0000:00:05.0: failed initialize subdev media entity (-22) [ 14.596322] ipu3-imgu 0000:00:05.0: failed to register subdev0 ret (-22) [ 14.596327] ipu3-imgu 0000:00:05.0: failed to register pipes (-22) [ 14.596331] ipu3-imgu 0000:00:05.0: failed to create V4L2 devices (-22) That's what people will search for when they run intio the problem. Could you please resend a v3? Normally, editing a commit message is pretty easy, right? regards, dan carpenter
On Tue, Jan 09, 2024 at 10:51:15AM +0300, Dan Carpenter wrote: > On Tue, Jan 09, 2024 at 01:14:59PM +0900, Hidenori Kobayashi wrote: > > The imgu driver fails to probe because it does not set the pad's flags > > before calling media_entity_pads_init(). Fix the initialization order so > > that the driver probe succeeds. The ops initialization is also moved > > together for readability. > > > > Wait, I was really hoping you would include these lines in the commit > message: > > the imgu driver fails to probe with the following message: > > [ 14.596315] ipu3-imgu 0000:00:05.0: failed initialize subdev media entity (-22) > [ 14.596322] ipu3-imgu 0000:00:05.0: failed to register subdev0 ret (-22) > [ 14.596327] ipu3-imgu 0000:00:05.0: failed to register pipes (-22) > [ 14.596331] ipu3-imgu 0000:00:05.0: failed to create V4L2 devices (-22) > > That's what people will search for when they run intio the problem. > Could you please resend a v3? Normally, editing a commit message is > pretty easy, right? > > regards, > dan carpenter > > Ah, I misunderstood then, sorry. I will add the error lines to the commit messages and send a v3. Hidenori
diff --git a/drivers/staging/media/ipu3/ipu3-v4l2.c b/drivers/staging/media/ipu3/ipu3-v4l2.c index a66f034380c0..3df58eb3e882 100644 --- a/drivers/staging/media/ipu3/ipu3-v4l2.c +++ b/drivers/staging/media/ipu3/ipu3-v4l2.c @@ -1069,6 +1069,11 @@ static int imgu_v4l2_subdev_register(struct imgu_device *imgu, struct imgu_media_pipe *imgu_pipe = &imgu->imgu_pipe[pipe]; /* Initialize subdev media entity */ + imgu_sd->subdev.entity.ops = &imgu_media_ops; + for (i = 0; i < IMGU_NODE_NUM; i++) { + imgu_sd->subdev_pads[i].flags = imgu_pipe->nodes[i].output ? + MEDIA_PAD_FL_SINK : MEDIA_PAD_FL_SOURCE; + } r = media_entity_pads_init(&imgu_sd->subdev.entity, IMGU_NODE_NUM, imgu_sd->subdev_pads); if (r) { @@ -1076,11 +1081,6 @@ static int imgu_v4l2_subdev_register(struct imgu_device *imgu, "failed initialize subdev media entity (%d)\n", r); return r; } - imgu_sd->subdev.entity.ops = &imgu_media_ops; - for (i = 0; i < IMGU_NODE_NUM; i++) { - imgu_sd->subdev_pads[i].flags = imgu_pipe->nodes[i].output ? - MEDIA_PAD_FL_SINK : MEDIA_PAD_FL_SOURCE; - } /* Initialize subdev */ v4l2_subdev_init(&imgu_sd->subdev, &imgu_subdev_ops); @@ -1177,15 +1177,15 @@ static int imgu_v4l2_node_setup(struct imgu_device *imgu, unsigned int pipe, } /* Initialize media entities */ + node->vdev_pad.flags = node->output ? + MEDIA_PAD_FL_SOURCE : MEDIA_PAD_FL_SINK; + vdev->entity.ops = NULL; r = media_entity_pads_init(&vdev->entity, 1, &node->vdev_pad); if (r) { dev_err(dev, "failed initialize media entity (%d)\n", r); mutex_destroy(&node->lock); return r; } - node->vdev_pad.flags = node->output ? - MEDIA_PAD_FL_SOURCE : MEDIA_PAD_FL_SINK; - vdev->entity.ops = NULL; /* Initialize vbq */ vbq->type = node->vdev_fmt.type;
The imgu driver fails to probe because it does not set the pad's flags before calling media_entity_pads_init(). Fix the initialization order so that the driver probe succeeds. The ops initialization is also moved together for readability. Fixes: a0ca1627b450 ("media: staging/intel-ipu3: Add v4l2 driver based on media framework") Cc: <stable@vger.kernel.org> # 6.7 Signed-off-by: Hidenori Kobayashi <hidenorik@chromium.org> --- Changes in v2: - Add Fixes tag and revise commit message (Thanks Dan!) - Link to v1: https://lore.kernel.org/lkml/20231228093926.748001-1-hidenorik@chromium.org --- drivers/staging/media/ipu3/ipu3-v4l2.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)