media: tvp5150: initialize subdev before parsing device tree
authorMichael Tretter <m.tretter@pengutronix.de>
Thu, 12 Mar 2020 10:31:49 +0000 (11:31 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 12 Mar 2020 15:38:51 +0000 (16:38 +0100)
There are several debug prints in the tvp5150_parse_dt() function, which
do not print the prefix, because the v4l2_subdev is not initialized, yet.

Initialize the v4l2_subdev before parsing the device tree to fix the
debug messages.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/tvp5150.c

index bb37520..3a8998d 100644 (file)
@@ -2009,6 +2009,9 @@ static int tvp5150_probe(struct i2c_client *c)
 
        core->regmap = map;
        sd = &core->sd;
+       v4l2_i2c_subdev_init(sd, c, &tvp5150_ops);
+       sd->internal_ops = &tvp5150_internal_ops;
+       sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
 
        if (IS_ENABLED(CONFIG_OF) && np) {
                res = tvp5150_parse_dt(core, np);
@@ -2021,10 +2024,6 @@ static int tvp5150_probe(struct i2c_client *c)
                core->mbus_type = V4L2_MBUS_BT656;
        }
 
-       v4l2_i2c_subdev_init(sd, c, &tvp5150_ops);
-       sd->internal_ops = &tvp5150_internal_ops;
-       sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
-
        res = tvp5150_mc_init(core);
        if (res)
                return res;