Re: [PATCH v9 20/23] drm/rockchip: Make VOP driver optional

Andy Yan
2022-03-29T11:56:53Z

Hi Sascha:

On 3/28/22 23:11, Sascha Hauer wrote:
> With upcoming VOP2 support VOP won't be the only choice anymore, so make
> the VOP driver optional.
>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
> drivers/gpu/drm/rockchip/Kconfig | 8 ++++++++
> drivers/gpu/drm/rockchip/Makefile | 3 ++-
> drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +-
> 3 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig
> index fa5cfda4e90e3..7d22e2997a571 100644
> --- a/drivers/gpu/drm/rockchip/Kconfig
> +++ b/drivers/gpu/drm/rockchip/Kconfig
> @@ -23,8 +23,16 @@ config DRM_ROCKCHIP
>
> if DRM_ROCKCHIP
>
> +config ROCKCHIP_VOP
> + bool "Rockchip VOP driver"
> + default y
> + help
> + This selects support for the VOP driver. You should enable it
> + on all older SoCs up to RK3399.
> +
> config ROCKCHIP_ANALOGIX_DP
> bool "Rockchip specific extensions for Analogix DP driver"
> + depends on ROCKCHIP_VOP

Aanlogix dp is also on vop2 base soc such as  rk356x and rk3588 .

> help
> This selects support for Rockchip SoC specific extensions
> for the Analogix Core DP driver. If you want to enable DP
> diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile
> index 1a56f696558ca..dfc5512fdb9f1 100644
> --- a/drivers/gpu/drm/rockchip/Makefile
> +++ b/drivers/gpu/drm/rockchip/Makefile
> @@ -4,8 +4,9 @@
> # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
>
> rockchipdrm-y := rockchip_drm_drv.o rockchip_drm_fb.o \
> - rockchip_drm_gem.o rockchip_drm_vop.o rockchip_vop_reg.o
> + rockchip_drm_gem.o
>
> +rockchipdrm-$(CONFIG_ROCKCHIP_VOP) += rockchip_drm_vop.o rockchip_vop_reg.o
> rockchipdrm-$(CONFIG_ROCKCHIP_ANALOGIX_DP) += analogix_dp-rockchip.o
> rockchipdrm-$(CONFIG_ROCKCHIP_CDN_DP) += cdn-dp-core.o cdn-dp-reg.o
> rockchipdrm-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> index 214214190fef1..7cf8b9665e5cf 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> @@ -494,7 +494,7 @@ static int __init rockchip_drm_init(void)
> return -ENODEV;
>
> num_rockchip_sub_drivers = 0;
> - ADD_ROCKCHIP_SUB_DRIVER(vop_platform_driver, CONFIG_DRM_ROCKCHIP);
> + ADD_ROCKCHIP_SUB_DRIVER(vop_platform_driver, CONFIG_ROCKCHIP_VOP);
> ADD_ROCKCHIP_SUB_DRIVER(rockchip_lvds_driver,
> CONFIG_ROCKCHIP_LVDS);
> ADD_ROCKCHIP_SUB_DRIVER(rockchip_dp_driver,