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(+)
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.
Suggested-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
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
Hi Jempty, thanks for the patch On 14/01/2026 01:50, jempty.liang wrote: > The subdevices registered by the Mali-C55 driver do not have their > 'struct device *dev' member initialized. This is visibile when looking s/visibile/visible The commit header also needs correcting really, as it still suggests that fixing the printout is the goal. Perhaps something like "media: mali-c55: Initialise dev member for struct v4l2_subdev"? With that: Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> > 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. > > Suggested-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > 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;
Hi Dan, Jempty On Thu, Jan 15, 2026 at 02:09:48PM +0000, Dan Scally wrote: > Hi Jempty, thanks for the patch > > On 14/01/2026 01:50, jempty.liang wrote: > > The subdevices registered by the Mali-C55 driver do not have their > > 'struct device *dev' member initialized. This is visibile when looking > > s/visibile/visible > > The commit header also needs correcting really, as it still suggests that > fixing the printout is the goal. Perhaps something like "media: mali-c55: > Initialise dev member for struct v4l2_subdev"? Right, sorry, I missed the commit message during review > > With that: > > Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> > > > 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. > > > > Suggested-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Oh, no need to, I simply reviewed the patch :) > > Signed-off-by: jempty.liang <imntjempty@163.com> With Dan's suggestion: Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Thanks j > > --- > > 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; >
© 2016 - 2026 Red Hat, Inc.