Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0bab829d authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (12509): sh: prepare board-ap325rxa.c for v4l2-subdev conversion



We will be registering and unregistering the soc_camera_platform platform
device multiple times, therefore we need a .release() method and have to
nullify the kobj.

Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent dd4f0ad4
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -329,13 +329,19 @@ static struct soc_camera_platform_info camera_info = {
		.bus_id		= 0,
		.add_device	= ap325rxa_camera_add,
		.del_device	= ap325rxa_camera_del,
		.module_name	= "soc_camera_platform",
	},
};

static void dummy_release(struct device *dev)
{
}

static struct platform_device camera_device = {
	.name		= "soc_camera_platform",
	.dev		= {
		.platform_data	= &camera_info,
		.release	= dummy_release,
	},
};

@@ -352,8 +358,12 @@ static int ap325rxa_camera_add(struct soc_camera_link *icl,

static void ap325rxa_camera_del(struct soc_camera_link *icl)
{
	if (icl == &camera_info.link)
	if (icl != &camera_info.link)
		return;

	platform_device_unregister(&camera_device);
	memset(&camera_device.dev.kobj, 0,
	       sizeof(camera_device.dev.kobj));
}
#endif /* CONFIG_I2C */