linux (NXP iMX8): rebase patches for 6.9

This commit is contained in:
Rudi Heitbaum 2024-05-15 09:44:45 +00:00
parent 1ddbb68982
commit d8ceb86e2f
2 changed files with 16 additions and 19 deletions

View File

@ -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 index a4a45daf93f2..058bc372f02b 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/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 <drm/drm_simple_kms_helper.h> #include <drm/drm_simple_kms_helper.h>
#include "cdn-dp-core.h" #include "cdn-dp-core.h"
-#include "cdn-dp-reg.h" -#include "cdn-dp-reg.h"
#include "rockchip_drm_vop.h"
static inline struct cdn_dp_device *connector_to_dp(struct drm_connector *connector) static inline struct cdn_dp_device *connector_to_dp(struct drm_connector *connector)
{ {

View File

@ -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 index 8dc2f85c514b..09d0ac28e28a 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-drv.c --- a/drivers/gpu/drm/imx/dcss/dcss-drv.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-drv.c +++ b/drivers/gpu/drm/imx/dcss/dcss-drv.c
@@ -6,6 +6,7 @@ @@ -8,6 +8,7 @@
#include <linux/kernel.h> #include <linux/of.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <drm/drm_module.h> #include <drm/drm_module.h>
+#include <linux/component.h> +#include <linux/component.h>
#include <drm/drm_of.h> #include <drm/drm_of.h>
#include "dcss-dev.h" #include "dcss-dev.h"
@@ -14,6 +15,8 @@ @@ -16,6 +17,8 @@
struct dcss_drv { struct dcss_drv {
struct dcss_dev *dcss; struct dcss_dev *dcss;
struct dcss_kms_dev *kms; struct dcss_kms_dev *kms;
@ -33,7 +33,7 @@ index 8dc2f85c514b..09d0ac28e28a 100644
}; };
struct dcss_dev *dcss_drv_dev_to_dcss(struct device *dev) 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; return mdrv ? &mdrv->kms->base : NULL;
} }
@ -57,7 +57,7 @@ index 8dc2f85c514b..09d0ac28e28a 100644
- -
- of_node_put(remote); - of_node_put(remote);
mdrv = kzalloc(sizeof(*mdrv), GFP_KERNEL); mdrv = devm_kzalloc(dev, sizeof(*mdrv), GFP_KERNEL);
if (!mdrv) if (!mdrv)
return -ENOMEM; return -ENOMEM;
@ -65,9 +65,9 @@ index 8dc2f85c514b..09d0ac28e28a 100644
+ mdrv->is_componentized = componentized; + mdrv->is_componentized = componentized;
+ +
+ mdrv->dcss = dcss_dev_create(dev, componentized); + mdrv->dcss = dcss_dev_create(dev, componentized);
if (IS_ERR(mdrv->dcss)) { if (IS_ERR(mdrv->dcss))
err = PTR_ERR(mdrv->dcss); return PTR_ERR(mdrv->dcss);
goto err;
@@ -61,7 +52,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) @@ -61,7 +52,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev)
dev_set_drvdata(dev, mdrv); dev_set_drvdata(dev, mdrv);
@ -76,12 +76,12 @@ index 8dc2f85c514b..09d0ac28e28a 100644
+ mdrv->kms = dcss_kms_attach(mdrv->dcss, componentized); + mdrv->kms = dcss_kms_attach(mdrv->dcss, componentized);
if (IS_ERR(mdrv->kms)) { if (IS_ERR(mdrv->kms)) {
err = PTR_ERR(mdrv->kms); err = PTR_ERR(mdrv->kms);
goto dcss_shutoff; dev_err_probe(dev, err, "Failed to initialize KMS\n");
@@ -79,14 +70,68 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) @@ -76,12 +67,66 @@ static int dcss_drv_platform_probe(struct platform_device *pdev)
return err; 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) +static void dcss_drv_deinit(struct device *dev, bool componentized)
{ {
- struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev); - 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);
+ dcss_kms_detach(mdrv->kms, componentized); + dcss_kms_detach(mdrv->kms, componentized);
dcss_dev_destroy(mdrv->dcss); dcss_dev_destroy(mdrv->dcss);
kfree(mdrv);
+} +}
+ +
+static int dcss_drv_bind(struct device *dev) +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); + 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); + 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); + component_master_del(&pdev->dev, &dcss_master_ops);
+ else + else
+ dcss_drv_deinit(&pdev->dev, false); + 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 diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 135a62366ab8..cafb09df6c75 100644 index 135a62366ab8..cafb09df6c75 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c --- 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); -void dcss_kms_detach(struct dcss_kms_dev *kms);
+struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss, bool componentized); +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_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); int dcss_crtc_init(struct dcss_crtc *crtc, struct drm_device *drm);
void dcss_crtc_deinit(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 2.29.2