提交 0bab829d 编写于 作者: G Guennadi Liakhovetski 提交者: Mauro Carvalho Chehab

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: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: NPaul Mundt <lethal@linux-sh.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 dd4f0ad4
...@@ -329,13 +329,19 @@ static struct soc_camera_platform_info camera_info = { ...@@ -329,13 +329,19 @@ static struct soc_camera_platform_info camera_info = {
.bus_id = 0, .bus_id = 0,
.add_device = ap325rxa_camera_add, .add_device = ap325rxa_camera_add,
.del_device = ap325rxa_camera_del, .del_device = ap325rxa_camera_del,
.module_name = "soc_camera_platform",
}, },
}; };
static void dummy_release(struct device *dev)
{
}
static struct platform_device camera_device = { static struct platform_device camera_device = {
.name = "soc_camera_platform", .name = "soc_camera_platform",
.dev = { .dev = {
.platform_data = &camera_info, .platform_data = &camera_info,
.release = dummy_release,
}, },
}; };
...@@ -352,8 +358,12 @@ static int ap325rxa_camera_add(struct soc_camera_link *icl, ...@@ -352,8 +358,12 @@ static int ap325rxa_camera_add(struct soc_camera_link *icl,
static void ap325rxa_camera_del(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); platform_device_unregister(&camera_device);
memset(&camera_device.dev.kobj, 0,
sizeof(camera_device.dev.kobj));
} }
#endif /* CONFIG_I2C */ #endif /* CONFIG_I2C */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册