diff --git a/drivers/media/platform/rockchip/isp/Makefile b/drivers/media/platform/rockchip/isp/Makefile index e49e73b2cc32..9b2926485371 100644 --- a/drivers/media/platform/rockchip/isp/Makefile +++ b/drivers/media/platform/rockchip/isp/Makefile @@ -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 diff --git a/drivers/media/platform/rockchip/isp/dev.c b/drivers/media/platform/rockchip/isp/dev.c index 9c2aece55d37..20bcb4f53a21 100644 --- a/drivers/media/platform/rockchip/isp/dev.c +++ b/drivers/media/platform/rockchip/isp/dev.c @@ -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; diff --git a/drivers/media/platform/rockchip/isp/hw.c b/drivers/media/platform/rockchip/isp/hw.c index 9fa5d58d54ca..8bc2c0662044 100644 --- a/drivers/media/platform/rockchip/isp/hw.c +++ b/drivers/media/platform/rockchip/isp/hw.c @@ -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 diff --git a/drivers/media/platform/rockchip/isp/isp_ispp.h b/drivers/media/platform/rockchip/isp/isp_ispp.h index 71878ca9b727..8cce504bfbdf 100644 --- a/drivers/media/platform/rockchip/isp/isp_ispp.h +++ b/drivers/media/platform/rockchip/isp/isp_ispp.h @@ -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, diff --git a/drivers/media/platform/rockchip/ispp/Makefile b/drivers/media/platform/rockchip/ispp/Makefile index 3a80a26dddd0..89ff604b9fcc 100644 --- a/drivers/media/platform/rockchip/ispp/Makefile +++ b/drivers/media/platform/rockchip/ispp/Makefile @@ -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 diff --git a/drivers/media/platform/rockchip/ispp/dev.c b/drivers/media/platform/rockchip/ispp/dev.c index d49da53f21a2..863a12f62589 100644 --- a/drivers/media/platform/rockchip/ispp/dev.c +++ b/drivers/media/platform/rockchip/ispp/dev.c @@ -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"); diff --git a/drivers/media/platform/rockchip/ispp/hw.c b/drivers/media/platform/rockchip/ispp/hw.c index bf707a156b90..b5d2faf7548a 100644 --- a/drivers/media/platform/rockchip/ispp/hw.c +++ b/drivers/media/platform/rockchip/ispp/hw.c @@ -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