diff --git a/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch b/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch index e8af890e07..1a749c89ea 100644 --- a/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch +++ b/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch @@ -3667,12 +3667,11 @@ diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/c index a4a45daf93f2..058bc372f02b 100644 --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c -@@ -23,11 +23,10 @@ +@@ -23,10 +23,9 @@ #include #include "cdn-dp-core.h" -#include "cdn-dp-reg.h" - #include "rockchip_drm_vop.h" static inline struct cdn_dp_device *connector_to_dp(struct drm_connector *connector) { diff --git a/projects/NXP/devices/iMX8/patches/linux/0041-drm-imx-dcss-add-component-framework-functionality.patch b/projects/NXP/devices/iMX8/patches/linux/0041-drm-imx-dcss-add-component-framework-functionality.patch index a1e33406f2..5709ab1a84 100644 --- a/projects/NXP/devices/iMX8/patches/linux/0041-drm-imx-dcss-add-component-framework-functionality.patch +++ b/projects/NXP/devices/iMX8/patches/linux/0041-drm-imx-dcss-add-component-framework-functionality.patch @@ -16,15 +16,15 @@ diff --git a/drivers/gpu/drm/imx/dcss/dcss-drv.c b/drivers/gpu/drm/imx/dcss/dcss index 8dc2f85c514b..09d0ac28e28a 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-drv.c +++ b/drivers/gpu/drm/imx/dcss/dcss-drv.c -@@ -6,6 +6,7 @@ - #include +@@ -8,6 +8,7 @@ + #include #include #include +#include #include #include "dcss-dev.h" -@@ -14,6 +15,8 @@ +@@ -16,6 +17,8 @@ struct dcss_drv { struct dcss_dev *dcss; struct dcss_kms_dev *kms; @@ -33,7 +33,7 @@ index 8dc2f85c514b..09d0ac28e28a 100644 }; struct dcss_dev *dcss_drv_dev_to_dcss(struct device *dev) -@@ -30,30 +33,18 @@ struct drm_device *dcss_drv_dev_to_drm(struct device *dev) +@@ -32,30 +35,18 @@ struct drm_device *dcss_drv_dev_to_drm(struct device *dev) return mdrv ? &mdrv->kms->base : NULL; } @@ -57,7 +57,7 @@ index 8dc2f85c514b..09d0ac28e28a 100644 - - of_node_put(remote); - mdrv = kzalloc(sizeof(*mdrv), GFP_KERNEL); + mdrv = devm_kzalloc(dev, sizeof(*mdrv), GFP_KERNEL); if (!mdrv) return -ENOMEM; @@ -65,9 +65,9 @@ index 8dc2f85c514b..09d0ac28e28a 100644 + mdrv->is_componentized = componentized; + + mdrv->dcss = dcss_dev_create(dev, componentized); - if (IS_ERR(mdrv->dcss)) { - err = PTR_ERR(mdrv->dcss); - goto err; + if (IS_ERR(mdrv->dcss)) + return PTR_ERR(mdrv->dcss); + @@ -61,7 +52,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) dev_set_drvdata(dev, mdrv); @@ -76,12 +76,12 @@ index 8dc2f85c514b..09d0ac28e28a 100644 + mdrv->kms = dcss_kms_attach(mdrv->dcss, componentized); if (IS_ERR(mdrv->kms)) { err = PTR_ERR(mdrv->kms); - goto dcss_shutoff; -@@ -79,14 +70,68 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) + dev_err_probe(dev, err, "Failed to initialize KMS\n"); +@@ -76,12 +67,66 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) return err; } --static int dcss_drv_platform_remove(struct platform_device *pdev) +-static void dcss_drv_platform_remove(struct platform_device *pdev) +static void dcss_drv_deinit(struct device *dev, bool componentized) { - struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev); @@ -90,8 +90,6 @@ index 8dc2f85c514b..09d0ac28e28a 100644 - dcss_kms_detach(mdrv->kms); + dcss_kms_detach(mdrv->kms, componentized); dcss_dev_destroy(mdrv->dcss); - - kfree(mdrv); +} + +static int dcss_drv_bind(struct device *dev) @@ -138,7 +136,7 @@ index 8dc2f85c514b..09d0ac28e28a 100644 + return component_master_add_with_match(dev, &dcss_master_ops, match); +} + -+static int dcss_drv_platform_remove(struct platform_device *pdev) ++static void dcss_drv_platform_remove(struct platform_device *pdev) +{ + struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev); + @@ -146,9 +144,9 @@ index 8dc2f85c514b..09d0ac28e28a 100644 + component_master_del(&pdev->dev, &dcss_master_ops); + else + dcss_drv_deinit(&pdev->dev, false); - - return 0; } + + static void dcss_drv_platform_shutdown(struct platform_device *pdev) diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c index 135a62366ab8..cafb09df6c75 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-kms.c @@ -222,9 +220,9 @@ index dfe5dd99eea3..e98d9c587a43 100644 -void dcss_kms_detach(struct dcss_kms_dev *kms); +struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss, bool componentized); +void dcss_kms_detach(struct dcss_kms_dev *kms, bool componentized); + void dcss_kms_shutdown(struct dcss_kms_dev *kms); int dcss_crtc_init(struct dcss_crtc *crtc, struct drm_device *drm); void dcss_crtc_deinit(struct dcss_crtc *crtc, struct drm_device *drm); - struct dcss_plane *dcss_plane_init(struct drm_device *drm, -- 2.29.2