media: rockchip: isp/ispp adjust probe order

isp hw device -> isp virtual device then
ispp hw device -> ispp virtual device

Change-Id: I7897f50c2323c2d57b0eb143a53423390d6d7d6c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2021-03-30 17:27:32 +08:00
committed by Tao Huang
parent 3e8baf6650
commit 186fdf90b0
7 changed files with 51 additions and 47 deletions

View File

@@ -1,29 +1,29 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_VIDEO_ROCKCHIP_ISP) += video_rkisp.o
video_rkisp-objs += rkisp.o \
hw.o \
dev.o \
regs.o \
common.o \
isp_stats.o \
isp_stats_v1x.o \
isp_stats_v2x.o \
isp_stats_v21.o \
isp_params.o \
isp_params_v1x.o \
isp_params_v2x.o \
isp_params_v21.o \
capture.o \
capture_v1x.o \
capture_v20.o \
capture_v21.o \
dmarx.o \
csi.o \
bridge.o \
isp_mipi_luma.o \
procfs.o \
videobuf2-rdma-sg.o
video_rkisp-objs += hw.o \
dev.o \
rkisp.o \
regs.o \
common.o \
isp_stats.o \
isp_stats_v1x.o \
isp_stats_v2x.o \
isp_stats_v21.o \
isp_params.o \
isp_params_v1x.o \
isp_params_v2x.o \
isp_params_v21.o \
capture.o \
capture_v1x.o \
capture_v20.o \
capture_v21.o \
dmarx.o \
csi.o \
bridge.o \
isp_mipi_luma.o \
procfs.o \
videobuf2-rdma-sg.o
ifdef CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP
video_rkisp-objs += rkisp_tb_helper.o

View File

@@ -722,7 +722,7 @@ static int rkisp_plat_probe(struct platform_device *pdev)
if (ret)
return ret;
sprintf(isp_dev->name, "%s%d",
sprintf(isp_dev->media_dev.model, "%s%d",
DRIVER_NAME, isp_dev->dev_id);
ret = rkisp_get_reserved_mem(isp_dev);
@@ -746,8 +746,9 @@ static int rkisp_plat_probe(struct platform_device *pdev)
}
}
strlcpy(isp_dev->media_dev.model, isp_dev->name,
sizeof(isp_dev->media_dev.model));
strscpy(isp_dev->name, dev_name(dev), sizeof(isp_dev->name));
strscpy(isp_dev->media_dev.driver_name, isp_dev->name,
sizeof(isp_dev->media_dev.driver_name));
isp_dev->media_dev.dev = dev;
isp_dev->media_dev.ops = &rkisp_media_ops;

View File

@@ -756,7 +756,7 @@ static int rkisp_hw_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
return platform_driver_register(&rkisp_plat_drv);
return 0;
err:
return ret;
}
@@ -829,18 +829,18 @@ static struct platform_driver rkisp_hw_drv = {
.shutdown = rkisp_hw_shutdown,
};
#if IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISP) && IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISPP)
static int __init rkisp_hw_drv_init(void)
{
int ret;
ret = platform_driver_register(&rkisp_hw_drv);
if (ret)
return ret;
return rkispp_hw_drv_init();
if (!ret)
ret = platform_driver_register(&rkisp_plat_drv);
#if IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISP) && IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISPP)
if (!ret)
ret = rkispp_hw_drv_init();
#endif
return ret;
}
module_init(rkisp_hw_drv_init);
#else
module_platform_driver(rkisp_hw_drv);
#endif

View File

@@ -113,9 +113,7 @@ struct rkisp_ispp_buf {
void *priv;
};
#if IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISP) && IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISPP)
int __init rkispp_hw_drv_init(void);
#endif
#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP)
void rkisp_get_bridge_sd(struct platform_device *dev,

View File

@@ -1,13 +1,13 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_VIDEO_ROCKCHIP_ISPP) += video_rkispp.o
video_rkispp-objs += dev.o \
video_rkispp-objs += hw.o \
dev.o \
common.o \
ispp.o \
stream.o \
params.o \
stats.o \
hw.o \
procfs.o
ifdef CONFIG_VIDEO_ROCKCHIP_ISPP_FEC

View File

@@ -264,15 +264,16 @@ static int rkispp_plat_probe(struct platform_device *pdev)
if (ret)
return ret;
sprintf(ispp_dev->name, "%s%d",
sprintf(ispp_dev->media_dev.model, "%s%d",
DRIVER_NAME, ispp_dev->dev_id);
ispp_dev->irq_hdl = rkispp_isr;
mutex_init(&ispp_dev->apilock);
mutex_init(&ispp_dev->iqlock);
init_waitqueue_head(&ispp_dev->sync_onoff);
strlcpy(ispp_dev->media_dev.model, ispp_dev->name,
sizeof(ispp_dev->media_dev.model));
strscpy(ispp_dev->name, dev_name(dev), sizeof(ispp_dev->name));
strscpy(ispp_dev->media_dev.driver_name, ispp_dev->name,
sizeof(ispp_dev->media_dev.driver_name));
ispp_dev->media_dev.dev = &pdev->dev;
v4l2_dev = &ispp_dev->v4l2_dev;
v4l2_dev->mdev = &ispp_dev->media_dev;
@@ -369,7 +370,6 @@ struct platform_driver rkispp_plat_drv = {
.probe = rkispp_plat_probe,
.remove = rkispp_plat_remove,
};
EXPORT_SYMBOL(rkispp_plat_drv);
MODULE_AUTHOR("Rockchip Camera/ISP team");
MODULE_DESCRIPTION("Rockchip ISPP platform driver");

View File

@@ -346,7 +346,7 @@ static int rkispp_hw_probe(struct platform_device *pdev)
rkispp_register_fec(hw_dev);
pm_runtime_enable(&pdev->dev);
return platform_driver_register(&rkispp_plat_drv);
return 0;
err:
return ret;
}
@@ -420,11 +420,16 @@ static struct platform_driver rkispp_hw_drv = {
.shutdown = rkispp_hw_shutdown,
};
#if IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISP) && IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISPP)
int __init rkispp_hw_drv_init(void)
{
return platform_driver_register(&rkispp_hw_drv);
int ret;
ret = platform_driver_register(&rkispp_hw_drv);
if (!ret)
ret = platform_driver_register(&rkispp_plat_drv);
return ret;
}
#else
module_platform_driver(rkispp_hw_drv);
#if !(IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISP) && IS_BUILTIN(CONFIG_VIDEO_ROCKCHIP_ISPP))
module_init(rkispp_hw_drv_init);
#endif