mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
linux (NXP iMX8): rebase patches for 6.9
This commit is contained in:
parent
1ddbb68982
commit
d8ceb86e2f
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user