diff --git a/drivers/video/rockchip/mpp/mpp_service.c b/drivers/video/rockchip/mpp/mpp_service.c index 5ce6da58dd02..3d8e8e66badc 100644 --- a/drivers/video/rockchip/mpp/mpp_service.c +++ b/drivers/video/rockchip/mpp/mpp_service.c @@ -27,8 +27,20 @@ #define MPP_CLASS_NAME "mpp_class" #define MPP_SERVICE_NAME "mpp_service" -#define MPP_REGISTER_DRIVER(srv, X, x) {\ - if (IS_ENABLED(CONFIG_ROCKCHIP_MPP_##X))\ +#define HAS_RKVDEC IS_ENABLED(CONFIG_ROCKCHIP_MPP_RKVDEC) +#define HAS_RKVENC IS_ENABLED(CONFIG_ROCKCHIP_MPP_RKVENC) +#define HAS_VDPU1 IS_ENABLED(CONFIG_ROCKCHIP_MPP_VDPU1) +#define HAS_VEPU1 IS_ENABLED(CONFIG_ROCKCHIP_MPP_VEPU1) +#define HAS_VDPU2 IS_ENABLED(CONFIG_ROCKCHIP_MPP_VDPU2) +#define HAS_VEPU2 IS_ENABLED(CONFIG_ROCKCHIP_MPP_VEPU2) +#define HAS_VEPU22 IS_ENABLED(CONFIG_ROCKCHIP_MPP_VEPU22) +#define HAS_IEP2 IS_ENABLED(CONFIG_ROCKCHIP_MPP_IEP2) +#define HAS_JPGDEC IS_ENABLED(CONFIG_ROCKCHIP_MPP_JPGDEC2) +#define HAS_RKVDEC2 IS_ENABLED(CONFIG_ROCKCHIP_MPP_RKVDEC2) +#define HAS_RKVENC2 IS_ENABLED(CONFIG_ROCKCHIP_MPP_RKVENC2) + +#define MPP_REGISTER_DRIVER(srv, flag, X, x) {\ + if (flag)\ mpp_add_driver(srv, MPP_DRIVER_##X, &rockchip_##x##_driver, "grf_"#x);\ } @@ -349,17 +361,17 @@ static int mpp_service_probe(struct platform_device *pdev) mpp_procfs_init(srv); /* register sub drivers */ - MPP_REGISTER_DRIVER(srv, RKVDEC, rkvdec); - MPP_REGISTER_DRIVER(srv, RKVENC, rkvenc); - MPP_REGISTER_DRIVER(srv, VDPU1, vdpu1); - MPP_REGISTER_DRIVER(srv, VEPU1, vepu1); - MPP_REGISTER_DRIVER(srv, VDPU2, vdpu2); - MPP_REGISTER_DRIVER(srv, VEPU2, vepu2); - MPP_REGISTER_DRIVER(srv, VEPU22, vepu22); - MPP_REGISTER_DRIVER(srv, IEP2, iep2); - MPP_REGISTER_DRIVER(srv, JPGDEC, jpgdec); - MPP_REGISTER_DRIVER(srv, RKVDEC2, rkvdec2); - MPP_REGISTER_DRIVER(srv, RKVENC2, rkvenc2); + MPP_REGISTER_DRIVER(srv, HAS_RKVDEC, RKVDEC, rkvdec); + MPP_REGISTER_DRIVER(srv, HAS_RKVENC, RKVENC, rkvenc); + MPP_REGISTER_DRIVER(srv, HAS_VDPU1, VDPU1, vdpu1); + MPP_REGISTER_DRIVER(srv, HAS_VEPU1, VEPU1, vepu1); + MPP_REGISTER_DRIVER(srv, HAS_VDPU2, VDPU2, vdpu2); + MPP_REGISTER_DRIVER(srv, HAS_VEPU2, VEPU2, vepu2); + MPP_REGISTER_DRIVER(srv, HAS_VEPU22, VEPU22, vepu22); + MPP_REGISTER_DRIVER(srv, HAS_IEP2, IEP2, iep2); + MPP_REGISTER_DRIVER(srv, HAS_JPGDEC, JPGDEC, jpgdec); + MPP_REGISTER_DRIVER(srv, HAS_RKVDEC2, RKVDEC2, rkvdec2); + MPP_REGISTER_DRIVER(srv, HAS_RKVENC2, RKVENC2, rkvenc2); dev_info(dev, "probe success\n");