[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220525190617.696344-12-paul.kocialkowski@bootlin.com>
Date: Wed, 25 May 2022 21:05:44 +0200
From: Paul Kocialkowski <paul.kocialkowski@...tlin.com>
To: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev
Cc: Yong Deng <yong.deng@...ewell.com>,
Paul Kocialkowski <paul.kocialkowski@...tlin.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>
Subject: [PATCH v5 11/44] media: sun6i-csi: Register the media device after creation
There is no particular need to register the media device in the
subdev notify complete callback.
Register it in the v4l2 code instead where it's more in-context.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@...tlin.com>
Acked-by: Jernej Skrabec <jernej.skrabec@...il.com>
---
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
index a55347b7a6d6..e3d60b647cb2 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
@@ -638,7 +638,7 @@ static int sun6i_subdev_notify_complete(struct v4l2_async_notifier *notifier)
if (ret < 0)
return ret;
- return media_device_register(&v4l2->media_dev);
+ return 0;
}
static const struct v4l2_async_notifier_operations sun6i_csi_async_ops = {
@@ -685,6 +685,12 @@ static int sun6i_csi_v4l2_setup(struct sun6i_csi_device *csi_dev)
media_device_init(media_dev);
+ ret = media_device_register(media_dev);
+ if (ret) {
+ dev_err(dev, "failed to register media device: %d\n", ret);
+ goto error_media;
+ }
+
/* V4L2 Control Handler */
ret = v4l2_ctrl_handler_init(&v4l2->ctrl_handler, 0);
@@ -744,6 +750,7 @@ static int sun6i_csi_v4l2_setup(struct sun6i_csi_device *csi_dev)
v4l2_ctrl_handler_free(&v4l2->ctrl_handler);
error_media:
+ media_device_unregister(media_dev);
media_device_cleanup(media_dev);
return ret;
--
2.36.1
Powered by blists - more mailing lists