From: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
To: "jempty.liang" <imntjempty@163.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: dan.scally@ideasonboard.com, jacopo.mondi@ideasonboard.com,
mchehab@kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] media: mali-c55: Fix NULL dev stream alert for tpg sub-device
Date: Tue, 13 Jan 2026 09:55:10 +0100 [thread overview]
Message-ID: <aWYHPKMVFu_QC1Ow@zed> (raw)
In-Reply-To: <20260113075722.143238-1-imntjempty@163.com>
Hi Jempty
On Tue, Jan 13, 2026 at 07:57:22AM +0000, jempty.liang wrote:
> Fix "(NULL device *): collect_streams: sub-device 'mali-c55 tpg'
> does not support streams" by setting `sd->dev = mali_c55->dev`
> for isp/resizer/tpg modules.
The missing device name in the error message is just a symptom, I
think this is a geniunely missing part of the subdevice initalization.
I would re-phrase this as
-------------------------------------------------------------------------------
The subdevices registered by the Mali-C55 driver do not have their
'struct device *dev' member initialized. This is visibile when looking
at debug message, as in example:
"(NULL device *): collect_streams: sub-device 'mali-c55 tpg' does not support streams"
Fix this by initializing the *dev field for each subdevice registered
by the Mali-C55 driver.
-------------------------------------------------------------------------------
I wonder if v4l2_device_register_subdev() shouldn't WARN or if return
an error if sd->dev is not initialized. Laurent, Sakari: opinions ?
Thanks
j
>
> Signed-off-by: jempty.liang <imntjempty@163.com>
> ---
> drivers/media/platform/arm/mali-c55/mali-c55-isp.c | 1 +
> drivers/media/platform/arm/mali-c55/mali-c55-resizer.c | 1 +
> drivers/media/platform/arm/mali-c55/mali-c55-tpg.c | 1 +
> 3 files changed, 3 insertions(+)
>
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-isp.c b/drivers/media/platform/arm/mali-c55/mali-c55-isp.c
> index 497f25fbdd13..ce84aad9f1d5 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-isp.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-isp.c
> @@ -610,6 +610,7 @@ int mali_c55_register_isp(struct mali_c55 *mali_c55)
> sd->entity.ops = &mali_c55_isp_media_ops;
> sd->entity.function = MEDIA_ENT_F_PROC_VIDEO_ISP;
> sd->internal_ops = &mali_c55_isp_internal_ops;
> + sd->dev = mali_c55->dev;
> strscpy(sd->name, MALI_C55_DRIVER_NAME " isp", sizeof(sd->name));
>
> isp->pads[MALI_C55_ISP_PAD_SINK_VIDEO].flags = MEDIA_PAD_FL_SINK |
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-resizer.c b/drivers/media/platform/arm/mali-c55/mali-c55-resizer.c
> index a8d739af74b6..c4f46651dcee 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-resizer.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-resizer.c
> @@ -1070,6 +1070,7 @@ static int mali_c55_register_resizer(struct mali_c55 *mali_c55,
> sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_STREAMS;
> sd->entity.function = MEDIA_ENT_F_PROC_VIDEO_SCALER;
> sd->internal_ops = &mali_c55_resizer_internal_ops;
> + sd->dev = mali_c55->dev;
>
> rsz->pads[MALI_C55_RSZ_SINK_PAD].flags = MEDIA_PAD_FL_SINK;
> rsz->pads[MALI_C55_RSZ_SOURCE_PAD].flags = MEDIA_PAD_FL_SOURCE;
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-tpg.c b/drivers/media/platform/arm/mali-c55/mali-c55-tpg.c
> index 1af5d2759a83..894f4cf377af 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-tpg.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-tpg.c
> @@ -370,6 +370,7 @@ int mali_c55_register_tpg(struct mali_c55 *mali_c55)
> sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
> sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
> sd->internal_ops = &mali_c55_tpg_internal_ops;
> + sd->dev = mali_c55->dev;
> strscpy(sd->name, MALI_C55_DRIVER_NAME " tpg", sizeof(sd->name));
>
> pad->flags = MEDIA_PAD_FL_SOURCE;
> --
> 2.25.1
>
next prev parent reply other threads:[~2026-01-13 8:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-13 7:57 [PATCH] media: mali-c55: Fix NULL dev stream alert for tpg sub-device jempty.liang
2026-01-13 8:55 ` Jacopo Mondi [this message]
2026-01-13 10:40 ` Sakari Ailus
2026-01-13 12:43 ` Jacopo Mondi
2026-01-13 19:25 ` Sakari Ailus
2026-01-13 14:12 ` Dan Scally
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aWYHPKMVFu_QC1Ow@zed \
--to=jacopo.mondi@ideasonboard.com \
--cc=dan.scally@ideasonboard.com \
--cc=imntjempty@163.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=sakari.ailus@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.