All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-10 12:28 ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-10 12:28 UTC (permalink / raw)
  To: linux-arm-kernel

This is the latest revision of my series cleaning up imx-drm and
hopefully getting it ready to be moved out of drivers/staging.
This series is updated to v3.14-rc2.

Since the last round of patches were posted, the component support
has been merged into mainline, and thus dropped from this series.
Greg has taken the first three patches and merged them into his
linux-next tree - however, I include them here for completness.

Most of the comments from last time still apply, and I'll look at
incorporating some of the other patches that were posted in the
coming week.

If I can have some acks for this, I'll start sending some of it to
Greg - I'd like to at least get the five or six initial imx-hdmi
patches to Greg and queued up for the next merge window sooner
rather than later, preferably getting most of this ready for that
window too.

 arch/arm/boot/dts/imx51-babbage.dts        |  10 +-
 arch/arm/boot/dts/imx53-m53evk.dts         |   8 +-
 arch/arm/boot/dts/imx53-mba53.dts          |   6 +
 arch/arm/boot/dts/imx53-qsb.dts            |   8 +-
 arch/arm/boot/dts/imx6dl.dtsi              |   5 +
 arch/arm/boot/dts/imx6q-sabresd.dts        |   4 +
 arch/arm/boot/dts/imx6q.dtsi               |   5 +
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi     |   6 +
 arch/arm/boot/dts/imx6qdl.dtsi             |   9 +
 drivers/staging/imx-drm/Makefile           |   3 +-
 drivers/staging/imx-drm/imx-drm-core.c     | 831 ++++++++++-------------------
 drivers/staging/imx-drm/imx-drm.h          |  39 +-
 drivers/staging/imx-drm/imx-fb.c           |  47 --
 drivers/staging/imx-drm/imx-fbdev.c        |  74 ---
 drivers/staging/imx-drm/imx-hdmi.c         | 680 +++++++++--------------
 drivers/staging/imx-drm/imx-ldb.c          | 125 ++---
 drivers/staging/imx-drm/imx-tve.c          | 134 +++--
 drivers/staging/imx-drm/ipu-v3/ipu-di.c    | 317 +++++------
 drivers/staging/imx-drm/ipuv3-crtc.c       |  56 +-
 drivers/staging/imx-drm/parallel-display.c | 100 ++--
 20 files changed, 934 insertions(+), 1533 deletions(-)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-10 12:28 ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-10 12:28 UTC (permalink / raw)
  To: David Airlie, Greg Kroah-Hartman, Sascha Hauer, Shawn Guo, Fabio Estevam
  Cc: devel, dri-devel, linux-arm-kernel

This is the latest revision of my series cleaning up imx-drm and
hopefully getting it ready to be moved out of drivers/staging.
This series is updated to v3.14-rc2.

Since the last round of patches were posted, the component support
has been merged into mainline, and thus dropped from this series.
Greg has taken the first three patches and merged them into his
linux-next tree - however, I include them here for completness.

Most of the comments from last time still apply, and I'll look at
incorporating some of the other patches that were posted in the
coming week.

If I can have some acks for this, I'll start sending some of it to
Greg - I'd like to at least get the five or six initial imx-hdmi
patches to Greg and queued up for the next merge window sooner
rather than later, preferably getting most of this ready for that
window too.

 arch/arm/boot/dts/imx51-babbage.dts        |  10 +-
 arch/arm/boot/dts/imx53-m53evk.dts         |   8 +-
 arch/arm/boot/dts/imx53-mba53.dts          |   6 +
 arch/arm/boot/dts/imx53-qsb.dts            |   8 +-
 arch/arm/boot/dts/imx6dl.dtsi              |   5 +
 arch/arm/boot/dts/imx6q-sabresd.dts        |   4 +
 arch/arm/boot/dts/imx6q.dtsi               |   5 +
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi     |   6 +
 arch/arm/boot/dts/imx6qdl.dtsi             |   9 +
 drivers/staging/imx-drm/Makefile           |   3 +-
 drivers/staging/imx-drm/imx-drm-core.c     | 831 ++++++++++-------------------
 drivers/staging/imx-drm/imx-drm.h          |  39 +-
 drivers/staging/imx-drm/imx-fb.c           |  47 --
 drivers/staging/imx-drm/imx-fbdev.c        |  74 ---
 drivers/staging/imx-drm/imx-hdmi.c         | 680 +++++++++--------------
 drivers/staging/imx-drm/imx-ldb.c          | 125 ++---
 drivers/staging/imx-drm/imx-tve.c          | 134 +++--
 drivers/staging/imx-drm/ipu-v3/ipu-di.c    | 317 +++++------
 drivers/staging/imx-drm/ipuv3-crtc.c       |  56 +-
 drivers/staging/imx-drm/parallel-display.c | 100 ++--
 20 files changed, 934 insertions(+), 1533 deletions(-)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 13/35] imx-drm: add imx6 DT configuration for HDMI
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-10 12:29     ` Russell King
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King @ 2014-02-10 12:29 UTC (permalink / raw)
  To: Sascha Hauer, Shawn Guo, Fabio Estevam
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA

Extracted from another patch by Fabio Estevam, this adds the DT
configuration for HDMI output on the IMX6 SoCs

Signed-off-by: Russell King <rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
---
 arch/arm/boot/dts/imx6dl.dtsi  |  4 ++++
 arch/arm/boot/dts/imx6q.dtsi   |  4 ++++
 arch/arm/boot/dts/imx6qdl.dtsi | 10 ++++++++++
 3 files changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 9e8ae118fdd4..65e54b4529c5 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -88,3 +88,7 @@
 		crtcs = <&ipu1 0>, <&ipu1 1>;
 	};
 };
+
+&hdmi {
+	crtcs = <&ipu1 0>, <&ipu1 1>;
+}
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index f024ef28b34b..d2467f532de6 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -159,3 +159,7 @@
 		crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
 	};
 };
+
+&hdmi {
+	crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
+};
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index fb28b2ecb1db..400bbc624f25 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1368,6 +1368,16 @@
 				};
 			};
 
+			hdmi: hdmi@0120000 {
+				compatible = "fsl,imx6q-hdmi";
+				reg = <0x00120000 0x9000>;
+				interrupts = <0 115 0x04>;
+				gpr = <&gpr>;
+				clocks = <&clks 123>, <&clks 124>;
+				clock-names = "iahb", "isfr";
+				status = "disabled";
+			};
+
 			dcic1: dcic@020e4000 {
 				reg = <0x020e4000 0x4000>;
 				interrupts = <0 124 0x04>;
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 13/35] imx-drm: add imx6 DT configuration for HDMI
@ 2014-02-10 12:29     ` Russell King
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King @ 2014-02-10 12:29 UTC (permalink / raw)
  To: linux-arm-kernel

Extracted from another patch by Fabio Estevam, this adds the DT
configuration for HDMI output on the IMX6 SoCs

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/boot/dts/imx6dl.dtsi  |  4 ++++
 arch/arm/boot/dts/imx6q.dtsi   |  4 ++++
 arch/arm/boot/dts/imx6qdl.dtsi | 10 ++++++++++
 3 files changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 9e8ae118fdd4..65e54b4529c5 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -88,3 +88,7 @@
 		crtcs = <&ipu1 0>, <&ipu1 1>;
 	};
 };
+
+&hdmi {
+	crtcs = <&ipu1 0>, <&ipu1 1>;
+}
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index f024ef28b34b..d2467f532de6 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -159,3 +159,7 @@
 		crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
 	};
 };
+
+&hdmi {
+	crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
+};
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index fb28b2ecb1db..400bbc624f25 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1368,6 +1368,16 @@
 				};
 			};
 
+			hdmi: hdmi at 0120000 {
+				compatible = "fsl,imx6q-hdmi";
+				reg = <0x00120000 0x9000>;
+				interrupts = <0 115 0x04>;
+				gpr = <&gpr>;
+				clocks = <&clks 123>, <&clks 124>;
+				clock-names = "iahb", "isfr";
+				status = "disabled";
+			};
+
 			dcic1: dcic at 020e4000 {
 				reg = <0x020e4000 0x4000>;
 				interrupts = <0 124 0x04>;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 14/35] imx-drm: update and fix imx6 DT descriptions for v3 HDMI driver
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-10 12:29     ` Russell King
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King @ 2014-02-10 12:29 UTC (permalink / raw)
  To: Sascha Hauer, Shawn Guo, Fabio Estevam
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA

Signed-off-by: Russell King <rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
---
 arch/arm/boot/dts/imx6dl.dtsi  | 3 ++-
 arch/arm/boot/dts/imx6q.dtsi   | 1 +
 arch/arm/boot/dts/imx6qdl.dtsi | 1 -
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 65e54b4529c5..6dc397022214 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -90,5 +90,6 @@
 };
 
 &hdmi {
+	compatible = "fsl,imx6dl-hdmi";
 	crtcs = <&ipu1 0>, <&ipu1 1>;
-}
+};
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index d2467f532de6..187fe33ba515 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -161,5 +161,6 @@
 };
 
 &hdmi {
+	compatible = "fsl,imx6q-hdmi";
 	crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
 };
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 400bbc624f25..930ebe0c2937 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1369,7 +1369,6 @@
 			};
 
 			hdmi: hdmi@0120000 {
-				compatible = "fsl,imx6q-hdmi";
 				reg = <0x00120000 0x9000>;
 				interrupts = <0 115 0x04>;
 				gpr = <&gpr>;
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 14/35] imx-drm: update and fix imx6 DT descriptions for v3 HDMI driver
@ 2014-02-10 12:29     ` Russell King
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King @ 2014-02-10 12:29 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/boot/dts/imx6dl.dtsi  | 3 ++-
 arch/arm/boot/dts/imx6q.dtsi   | 1 +
 arch/arm/boot/dts/imx6qdl.dtsi | 1 -
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 65e54b4529c5..6dc397022214 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -90,5 +90,6 @@
 };
 
 &hdmi {
+	compatible = "fsl,imx6dl-hdmi";
 	crtcs = <&ipu1 0>, <&ipu1 1>;
-}
+};
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index d2467f532de6..187fe33ba515 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -161,5 +161,6 @@
 };
 
 &hdmi {
+	compatible = "fsl,imx6q-hdmi";
 	crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
 };
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 400bbc624f25..930ebe0c2937 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1369,7 +1369,6 @@
 			};
 
 			hdmi: hdmi at 0120000 {
-				compatible = "fsl,imx6q-hdmi";
 				reg = <0x00120000 0x9000>;
 				interrupts = <0 115 0x04>;
 				gpr = <&gpr>;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 19/35] imx-drm: convert to componentised device support
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-10 12:30     ` Russell King
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King @ 2014-02-10 12:30 UTC (permalink / raw)
  To: Sascha Hauer, Shawn Guo, Fabio Estevam
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Greg Kroah-Hartman, Grant Likely,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b

Use the componentised device support for imx-drm.  This requires all
the sub-components and the master device to register with the component
device support.

Signed-off-by: Russell King <rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
---
 arch/arm/boot/dts/imx51-babbage.dts        |  10 ++-
 arch/arm/boot/dts/imx53-m53evk.dts         |   8 ++-
 arch/arm/boot/dts/imx53-mba53.dts          |   6 ++
 arch/arm/boot/dts/imx53-qsb.dts            |   8 ++-
 arch/arm/boot/dts/imx6q-sabresd.dts        |   4 ++
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi     |   6 ++
 drivers/staging/imx-drm/imx-drm-core.c     | 105 +++++++++++++++++++++++------
 drivers/staging/imx-drm/imx-ldb.c          |  40 +++++++----
 drivers/staging/imx-drm/imx-tve.c          |  63 ++++++++++-------
 drivers/staging/imx-drm/ipuv3-crtc.c       |  46 +++++++++----
 drivers/staging/imx-drm/parallel-display.c |  30 +++++++--
 11 files changed, 246 insertions(+), 80 deletions(-)

diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts
index be1407cf5abd..6ff15a0eacb3 100644
--- a/arch/arm/boot/dts/imx51-babbage.dts
+++ b/arch/arm/boot/dts/imx51-babbage.dts
@@ -21,7 +21,7 @@
 		reg = <0x90000000 0x20000000>;
 	};
 
-	display@di0 {
+	display0: display@di0 {
 		compatible = "fsl,imx-parallel-display";
 		crtcs = <&ipu 0>;
 		interface-pix-fmt = "rgb24";
@@ -43,7 +43,7 @@
 		};
 	};
 
-	display@di1 {
+	display1: display@di1 {
 		compatible = "fsl,imx-parallel-display";
 		crtcs = <&ipu 1>;
 		interface-pix-fmt = "rgb565";
@@ -81,6 +81,12 @@
 		};
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 0>, <&ipu 1>;
+		connectors = <&display0>, <&display1>;
+	};
+
 	sound {
 		compatible = "fsl,imx51-babbage-sgtl5000",
 			     "fsl,imx-audio-sgtl5000";
diff --git a/arch/arm/boot/dts/imx53-m53evk.dts b/arch/arm/boot/dts/imx53-m53evk.dts
index 7d304d02ed38..ee6107b6484c 100644
--- a/arch/arm/boot/dts/imx53-m53evk.dts
+++ b/arch/arm/boot/dts/imx53-m53evk.dts
@@ -21,7 +21,7 @@
 	};
 
 	soc {
-		display@di1 {
+		display1: display@di1 {
 			compatible = "fsl,imx-parallel-display";
 			crtcs = <&ipu 1>;
 			interface-pix-fmt = "bgr666";
@@ -53,6 +53,12 @@
 		default-brightness-level = <6>;
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 1>;
+		connectors = <&display1>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/imx53-mba53.dts b/arch/arm/boot/dts/imx53-mba53.dts
index a63090267941..9b6e76980a74 100644
--- a/arch/arm/boot/dts/imx53-mba53.dts
+++ b/arch/arm/boot/dts/imx53-mba53.dts
@@ -43,6 +43,12 @@
 		status = "disabled";
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 1>;
+		connectors = <&disp1>, <&tve>;
+	};
+
 	reg_3p2v: 3p2v {
 		compatible = "regulator-fixed";
 		regulator-name = "3P2V";
diff --git a/arch/arm/boot/dts/imx53-qsb.dts b/arch/arm/boot/dts/imx53-qsb.dts
index 91a5935a4aac..3cb4f7791a91 100644
--- a/arch/arm/boot/dts/imx53-qsb.dts
+++ b/arch/arm/boot/dts/imx53-qsb.dts
@@ -21,7 +21,7 @@
 		reg = <0x70000000 0x40000000>;
 	};
 
-	display@di0 {
+	display0: display@di0 {
 		compatible = "fsl,imx-parallel-display";
 		crtcs = <&ipu 0>;
 		interface-pix-fmt = "rgb565";
@@ -72,6 +72,12 @@
 		};
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 0>;
+		connectors = <&display0>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts
index 9cbdfe7a0931..66f220a82e45 100644
--- a/arch/arm/boot/dts/imx6q-sabresd.dts
+++ b/arch/arm/boot/dts/imx6q-sabresd.dts
@@ -20,6 +20,10 @@
 	compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
 };
 
+&imx_drm {
+	crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
+};
+
 &sata {
 	status = "okay";
 };
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index e75e11b36dff..dfca3e001398 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -62,6 +62,12 @@
 		};
 	};
 
+	imx_drm: imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu1 0>, <&ipu1 1>;
+		connectors = <&ldb>;
+	};
+
 	sound {
 		compatible = "fsl,imx6q-sabresd-wm8962",
 			   "fsl,imx-audio-wm8962";
diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c
index d9786eca3a36..82b0337096b0 100644
--- a/drivers/staging/imx-drm/imx-drm-core.c
+++ b/drivers/staging/imx-drm/imx-drm-core.c
@@ -13,7 +13,7 @@
  * GNU General Public License for more details.
  *
  */
-
+#include <linux/component.h>
 #include <linux/device.h>
 #include <linux/platform_device.h>
 #include <drm/drmP.h>
@@ -90,6 +90,8 @@ static int imx_drm_driver_unload(struct drm_device *drm)
 {
 	struct imx_drm_device *imxdrm = drm->dev_private;
 
+	component_unbind_all(drm->dev, drm);
+
 	imx_drm_device_put();
 
 	drm_vblank_cleanup(drm);
@@ -371,11 +373,8 @@ static void imx_drm_connector_unregister(
 }
 
 /*
- * Called by the CRTC driver when all CRTCs are registered. This
- * puts all the pieces together and initializes the driver.
- * Once this is called no more CRTCs can be registered since
- * the drm core has hardcoded the number of crtcs in several
- * places.
+ * Main DRM initialisation. This binds, initialises and registers
+ * with DRM the subcomponents of the driver.
  */
 static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags)
 {
@@ -428,8 +427,15 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags)
 
 	platform_set_drvdata(drm->platformdev, drm);
 	mutex_unlock(&imxdrm->mutex);
+
+	/* Now try and bind all our sub-components */
+	ret = component_bind_all(drm->dev, drm);
+	if (ret)
+		goto err_relock;
 	return 0;
 
+err_relock:
+	mutex_lock(&imxdrm->mutex);
 err_vblank:
 	drm_vblank_cleanup(drm);
 err_kms:
@@ -809,6 +815,70 @@ static struct drm_driver imx_drm_driver = {
 	.patchlevel		= 0,
 };
 
+static int compare_parent_of(struct device *dev, void *data)
+{
+	struct of_phandle_args *args = data;
+	return dev->parent && dev->parent->of_node == args->np;
+}
+
+static int compare_of(struct device *dev, void *data)
+{
+	return dev->of_node == data;
+}
+
+static int imx_drm_add_components(struct device *master, struct master *m)
+{
+	struct device_node *np = master->of_node;
+	unsigned i;
+	int ret;
+
+	for (i = 0; ; i++) {
+		struct of_phandle_args args;
+
+		ret = of_parse_phandle_with_fixed_args(np, "crtcs", 1,
+						       i, &args);
+		if (ret)
+			break;
+
+		ret = component_master_add_child(m, compare_parent_of, &args);
+		of_node_put(args.np);
+
+		if (ret)
+			return ret;
+	}
+
+	for (i = 0; ; i++) {
+		struct device_node *node;
+
+		node = of_parse_phandle(np, "connectors", i);
+		if (!node)
+			break;
+
+		ret = component_master_add_child(m, compare_of, node);
+		of_node_put(node);
+
+		if (ret)
+			return ret;
+	}
+	return 0;
+}
+
+static int imx_drm_bind(struct device *dev)
+{
+	return drm_platform_init(&imx_drm_driver, to_platform_device(dev));
+}
+
+static void imx_drm_unbind(struct device *dev)
+{
+	drm_put_dev(dev_get_drvdata(dev));
+}
+
+static const struct component_master_ops imx_drm_ops = {
+	.add_components = imx_drm_add_components,
+	.bind = imx_drm_bind,
+	.unbind = imx_drm_unbind,
+};
+
 static int imx_drm_platform_probe(struct platform_device *pdev)
 {
 	int ret;
@@ -819,27 +889,31 @@ static int imx_drm_platform_probe(struct platform_device *pdev)
 
 	imx_drm_device->dev = &pdev->dev;
 
-	return drm_platform_init(&imx_drm_driver, pdev);
+	return component_master_add(&pdev->dev, &imx_drm_ops);
 }
 
 static int imx_drm_platform_remove(struct platform_device *pdev)
 {
-	drm_put_dev(platform_get_drvdata(pdev));
-
+	component_master_del(&pdev->dev, &imx_drm_ops);
 	return 0;
 }
 
+static const struct of_device_id imx_drm_dt_ids[] = {
+	{ .compatible = "fsl,imx-drm", },
+	{ /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, imx_drm_dt_ids);
+
 static struct platform_driver imx_drm_pdrv = {
 	.probe		= imx_drm_platform_probe,
 	.remove		= imx_drm_platform_remove,
 	.driver		= {
 		.owner	= THIS_MODULE,
 		.name	= "imx-drm",
+		.of_match_table = imx_drm_dt_ids,
 	},
 };
 
-static struct platform_device *imx_drm_pdev;
-
 static int __init imx_drm_init(void)
 {
 	int ret;
@@ -852,12 +926,6 @@ static int __init imx_drm_init(void)
 	INIT_LIST_HEAD(&imx_drm_device->connector_list);
 	INIT_LIST_HEAD(&imx_drm_device->encoder_list);
 
-	imx_drm_pdev = platform_device_register_simple("imx-drm", -1, NULL, 0);
-	if (IS_ERR(imx_drm_pdev)) {
-		ret = PTR_ERR(imx_drm_pdev);
-		goto err_pdev;
-	}
-
 	ret = platform_driver_register(&imx_drm_pdrv);
 	if (ret)
 		goto err_pdrv;
@@ -865,8 +933,6 @@ static int __init imx_drm_init(void)
 	return 0;
 
 err_pdrv:
-	platform_device_unregister(imx_drm_pdev);
-err_pdev:
 	kfree(imx_drm_device);
 
 	return ret;
@@ -874,7 +940,6 @@ static int __init imx_drm_init(void)
 
 static void __exit imx_drm_exit(void)
 {
-	platform_device_unregister(imx_drm_pdev);
 	platform_driver_unregister(&imx_drm_pdrv);
 
 	kfree(imx_drm_device);
diff --git a/drivers/staging/imx-drm/imx-ldb.c b/drivers/staging/imx-drm/imx-ldb.c
index dd29a4aad376..d00f93f3440d 100644
--- a/drivers/staging/imx-drm/imx-ldb.c
+++ b/drivers/staging/imx-drm/imx-ldb.c
@@ -20,6 +20,7 @@
 
 #include <linux/module.h>
 #include <linux/clk.h>
+#include <linux/component.h>
 #include <drm/drmP.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_crtc_helper.h>
@@ -450,11 +451,11 @@ static const struct of_device_id imx_ldb_dt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, imx_ldb_dt_ids);
 
-static int imx_ldb_probe(struct platform_device *pdev)
+static int imx_ldb_bind(struct device *dev, struct device *master, void *data)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct device_node *np = dev->of_node;
 	const struct of_device_id *of_id =
-			of_match_device(imx_ldb_dt_ids, &pdev->dev);
+			of_match_device(imx_ldb_dt_ids, dev);
 	struct device_node *child;
 	const u8 *edidp;
 	struct imx_ldb *imx_ldb;
@@ -464,17 +465,17 @@ static int imx_ldb_probe(struct platform_device *pdev)
 	int ret;
 	int i;
 
-	imx_ldb = devm_kzalloc(&pdev->dev, sizeof(*imx_ldb), GFP_KERNEL);
+	imx_ldb = devm_kzalloc(dev, sizeof(*imx_ldb), GFP_KERNEL);
 	if (!imx_ldb)
 		return -ENOMEM;
 
 	imx_ldb->regmap = syscon_regmap_lookup_by_phandle(np, "gpr");
 	if (IS_ERR(imx_ldb->regmap)) {
-		dev_err(&pdev->dev, "failed to get parent regmap\n");
+		dev_err(dev, "failed to get parent regmap\n");
 		return PTR_ERR(imx_ldb->regmap);
 	}
 
-	imx_ldb->dev = &pdev->dev;
+	imx_ldb->dev = dev;
 
 	if (of_id)
 		imx_ldb->lvds_mux = of_id->data;
@@ -512,7 +513,7 @@ static int imx_ldb_probe(struct platform_device *pdev)
 			return -EINVAL;
 
 		if (dual && i > 0) {
-			dev_warn(&pdev->dev, "dual-channel mode, ignoring second output\n");
+			dev_warn(dev, "dual-channel mode, ignoring second output\n");
 			continue;
 		}
 
@@ -551,7 +552,7 @@ static int imx_ldb_probe(struct platform_device *pdev)
 			break;
 		case LVDS_BIT_MAP_JEIDA:
 			if (datawidth == 18) {
-				dev_err(&pdev->dev, "JEIDA standard only supported in 24 bit\n");
+				dev_err(dev, "JEIDA standard only supported in 24 bit\n");
 				return -EINVAL;
 			}
 			if (i == 0 || dual)
@@ -560,7 +561,7 @@ static int imx_ldb_probe(struct platform_device *pdev)
 				imx_ldb->ldb_ctrl |= LDB_DATA_WIDTH_CH1_24 | LDB_BIT_MAP_CH1_JEIDA;
 			break;
 		default:
-			dev_err(&pdev->dev, "data mapping not specified or invalid\n");
+			dev_err(dev, "data mapping not specified or invalid\n");
 			return -EINVAL;
 		}
 
@@ -571,14 +572,15 @@ static int imx_ldb_probe(struct platform_device *pdev)
 		imx_drm_encoder_add_possible_crtcs(channel->imx_drm_encoder, child);
 	}
 
-	platform_set_drvdata(pdev, imx_ldb);
+	dev_set_drvdata(dev, imx_ldb);
 
 	return 0;
 }
 
-static int imx_ldb_remove(struct platform_device *pdev)
+static void imx_ldb_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct imx_ldb *imx_ldb = platform_get_drvdata(pdev);
+	struct imx_ldb *imx_ldb = dev_get_drvdata(dev);
 	int i;
 
 	for (i = 0; i < 2; i++) {
@@ -591,7 +593,21 @@ static int imx_ldb_remove(struct platform_device *pdev)
 		imx_drm_remove_connector(channel->imx_drm_connector);
 		imx_drm_remove_encoder(channel->imx_drm_encoder);
 	}
+}
 
+static const struct component_ops imx_ldb_ops = {
+	.bind	= imx_ldb_bind,
+	.unbind	= imx_ldb_unbind,
+};
+
+static int imx_ldb_probe(struct platform_device *pdev)
+{
+	return component_add(&pdev->dev, &imx_ldb_ops);
+}
+
+static int imx_ldb_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &imx_ldb_ops);
 	return 0;
 }
 
diff --git a/drivers/staging/imx-drm/imx-tve.c b/drivers/staging/imx-drm/imx-tve.c
index 77131e5770f3..ad840d78a09a 100644
--- a/drivers/staging/imx-drm/imx-tve.c
+++ b/drivers/staging/imx-drm/imx-tve.c
@@ -20,6 +20,7 @@
 
 #include <linux/clk.h>
 #include <linux/clk-provider.h>
+#include <linux/component.h>
 #include <linux/module.h>
 #include <linux/i2c.h>
 #include <linux/regmap.h>
@@ -583,9 +584,10 @@ static const int of_get_tve_mode(struct device_node *np)
 	return -EINVAL;
 }
 
-static int imx_tve_probe(struct platform_device *pdev)
+static int imx_tve_bind(struct device *dev, struct device *master, void *data)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct platform_device *pdev = to_platform_device(dev);
+	struct device_node *np = dev->of_node;
 	struct device_node *ddc_node;
 	struct imx_tve *tve;
 	struct resource *res;
@@ -594,11 +596,11 @@ static int imx_tve_probe(struct platform_device *pdev)
 	int irq;
 	int ret;
 
-	tve = devm_kzalloc(&pdev->dev, sizeof(*tve), GFP_KERNEL);
+	tve = devm_kzalloc(dev, sizeof(*tve), GFP_KERNEL);
 	if (!tve)
 		return -ENOMEM;
 
-	tve->dev = &pdev->dev;
+	tve->dev = dev;
 	spin_lock_init(&tve->lock);
 
 	ddc_node = of_parse_phandle(np, "ddc", 0);
@@ -609,7 +611,7 @@ static int imx_tve_probe(struct platform_device *pdev)
 
 	tve->mode = of_get_tve_mode(np);
 	if (tve->mode != TVE_MODE_VGA) {
-		dev_err(&pdev->dev, "only VGA mode supported, currently\n");
+		dev_err(dev, "only VGA mode supported, currently\n");
 		return -EINVAL;
 	}
 
@@ -618,7 +620,7 @@ static int imx_tve_probe(struct platform_device *pdev)
 					   &tve->hsync_pin);
 
 		if (ret < 0) {
-			dev_err(&pdev->dev, "failed to get vsync pin\n");
+			dev_err(dev, "failed to get vsync pin\n");
 			return ret;
 		}
 
@@ -626,40 +628,40 @@ static int imx_tve_probe(struct platform_device *pdev)
 					    &tve->vsync_pin);
 
 		if (ret < 0) {
-			dev_err(&pdev->dev, "failed to get vsync pin\n");
+			dev_err(dev, "failed to get vsync pin\n");
 			return ret;
 		}
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	base = devm_ioremap_resource(&pdev->dev, res);
+	base = devm_ioremap_resource(dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
 
 	tve_regmap_config.lock_arg = tve;
-	tve->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "tve", base,
+	tve->regmap = devm_regmap_init_mmio_clk(dev, "tve", base,
 						&tve_regmap_config);
 	if (IS_ERR(tve->regmap)) {
-		dev_err(&pdev->dev, "failed to init regmap: %ld\n",
+		dev_err(dev, "failed to init regmap: %ld\n",
 			PTR_ERR(tve->regmap));
 		return PTR_ERR(tve->regmap);
 	}
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
-		dev_err(&pdev->dev, "failed to get irq\n");
+		dev_err(dev, "failed to get irq\n");
 		return irq;
 	}
 
-	ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
+	ret = devm_request_threaded_irq(dev, irq, NULL,
 					imx_tve_irq_handler, IRQF_ONESHOT,
 					"imx-tve", tve);
 	if (ret < 0) {
-		dev_err(&pdev->dev, "failed to request irq: %d\n", ret);
+		dev_err(dev, "failed to request irq: %d\n", ret);
 		return ret;
 	}
 
-	tve->dac_reg = devm_regulator_get(&pdev->dev, "dac");
+	tve->dac_reg = devm_regulator_get(dev, "dac");
 	if (!IS_ERR(tve->dac_reg)) {
 		regulator_set_voltage(tve->dac_reg, 2750000, 2750000);
 		ret = regulator_enable(tve->dac_reg);
@@ -667,17 +669,17 @@ static int imx_tve_probe(struct platform_device *pdev)
 			return ret;
 	}
 
-	tve->clk = devm_clk_get(&pdev->dev, "tve");
+	tve->clk = devm_clk_get(dev, "tve");
 	if (IS_ERR(tve->clk)) {
-		dev_err(&pdev->dev, "failed to get high speed tve clock: %ld\n",
+		dev_err(dev, "failed to get high speed tve clock: %ld\n",
 			PTR_ERR(tve->clk));
 		return PTR_ERR(tve->clk);
 	}
 
 	/* this is the IPU DI clock input selector, can be parented to tve_di */
-	tve->di_sel_clk = devm_clk_get(&pdev->dev, "di_sel");
+	tve->di_sel_clk = devm_clk_get(dev, "di_sel");
 	if (IS_ERR(tve->di_sel_clk)) {
-		dev_err(&pdev->dev, "failed to get ipu di mux clock: %ld\n",
+		dev_err(dev, "failed to get ipu di mux clock: %ld\n",
 			PTR_ERR(tve->di_sel_clk));
 		return PTR_ERR(tve->di_sel_clk);
 	}
@@ -688,11 +690,11 @@ static int imx_tve_probe(struct platform_device *pdev)
 
 	ret = regmap_read(tve->regmap, TVE_COM_CONF_REG, &val);
 	if (ret < 0) {
-		dev_err(&pdev->dev, "failed to read configuration register: %d\n", ret);
+		dev_err(dev, "failed to read configuration register: %d\n", ret);
 		return ret;
 	}
 	if (val != 0x00100000) {
-		dev_err(&pdev->dev, "configuration register default value indicates this is not a TVEv2\n");
+		dev_err(dev, "configuration register default value indicates this is not a TVEv2\n");
 		return -ENODEV;
 	}
 
@@ -705,14 +707,15 @@ static int imx_tve_probe(struct platform_device *pdev)
 
 	ret = imx_drm_encoder_add_possible_crtcs(tve->imx_drm_encoder, np);
 
-	platform_set_drvdata(pdev, tve);
+	dev_set_drvdata(dev, tve);
 
 	return 0;
 }
 
-static int imx_tve_remove(struct platform_device *pdev)
+static void imx_tve_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct imx_tve *tve = platform_get_drvdata(pdev);
+	struct imx_tve *tve = dev_get_drvdata(dev);
 	struct drm_connector *connector = &tve->connector;
 	struct drm_encoder *encoder = &tve->encoder;
 
@@ -723,7 +726,21 @@ static int imx_tve_remove(struct platform_device *pdev)
 
 	if (!IS_ERR(tve->dac_reg))
 		regulator_disable(tve->dac_reg);
+}
 
+static const struct component_ops imx_tve_ops = {
+	.bind	= imx_tve_bind,
+	.unbind	= imx_tve_unbind,
+};
+
+static int imx_tve_probe(struct platform_device *pdev)
+{
+	return component_add(&pdev->dev, &imx_tve_ops);
+}
+
+static int imx_tve_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &imx_tve_ops);
 	return 0;
 }
 
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c
index 08e0a3b29174..d779ad2d1f4e 100644
--- a/drivers/staging/imx-drm/ipuv3-crtc.c
+++ b/drivers/staging/imx-drm/ipuv3-crtc.c
@@ -17,6 +17,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA 02110-1301, USA.
  */
+#include <linux/component.h>
 #include <linux/module.h>
 #include <linux/export.h>
 #include <linux/device.h>
@@ -400,43 +401,60 @@ static int ipu_crtc_init(struct ipu_crtc *ipu_crtc,
 	return ret;
 }
 
-static int ipu_drm_probe(struct platform_device *pdev)
+static int ipu_drm_bind(struct device *dev, struct device *master, void *data)
 {
-	struct ipu_client_platformdata *pdata = pdev->dev.platform_data;
+	struct ipu_client_platformdata *pdata = dev->platform_data;
 	struct ipu_crtc *ipu_crtc;
 	int ret;
 
-	if (!pdata)
-		return -EINVAL;
-
-	ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
-	if (ret)
-		return ret;
-
-	ipu_crtc = devm_kzalloc(&pdev->dev, sizeof(*ipu_crtc), GFP_KERNEL);
+	ipu_crtc = devm_kzalloc(dev, sizeof(*ipu_crtc), GFP_KERNEL);
 	if (!ipu_crtc)
 		return -ENOMEM;
 
-	ipu_crtc->dev = &pdev->dev;
+	ipu_crtc->dev = dev;
 
 	ret = ipu_crtc_init(ipu_crtc, pdata);
 	if (ret)
 		return ret;
 
-	platform_set_drvdata(pdev, ipu_crtc);
+	dev_set_drvdata(dev, ipu_crtc);
 
 	return 0;
 }
 
-static int ipu_drm_remove(struct platform_device *pdev)
+static void ipu_drm_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct ipu_crtc *ipu_crtc = platform_get_drvdata(pdev);
+	struct ipu_crtc *ipu_crtc = dev_get_drvdata(dev);
 
 	imx_drm_remove_crtc(ipu_crtc->imx_crtc);
 
 	ipu_plane_put_resources(ipu_crtc->plane[0]);
 	ipu_put_resources(ipu_crtc);
+}
+
+static const struct component_ops ipu_crtc_ops = {
+	.bind = ipu_drm_bind,
+	.unbind = ipu_drm_unbind,
+};
 
+static int ipu_drm_probe(struct platform_device *pdev)
+{
+	int ret;
+
+	if (!pdev->dev.platform_data)
+		return -EINVAL;
+
+	ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+	if (ret)
+		return ret;
+
+	return component_add(&pdev->dev, &ipu_crtc_ops);
+}
+
+static int ipu_drm_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &ipu_crtc_ops);
 	return 0;
 }
 
diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c
index 12bcf4f58bdf..4019cae35ff9 100644
--- a/drivers/staging/imx-drm/parallel-display.c
+++ b/drivers/staging/imx-drm/parallel-display.c
@@ -18,6 +18,7 @@
  * MA 02110-1301, USA.
  */
 
+#include <linux/component.h>
 #include <linux/module.h>
 #include <drm/drmP.h>
 #include <drm/drm_fb_helper.h>
@@ -192,15 +193,15 @@ static int imx_pd_register(struct imx_parallel_display *imxpd)
 	return 0;
 }
 
-static int imx_pd_probe(struct platform_device *pdev)
+static int imx_pd_bind(struct device *dev, struct device *master, void *data)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct device_node *np = dev->of_node;
 	const u8 *edidp;
 	struct imx_parallel_display *imxpd;
 	int ret;
 	const char *fmt;
 
-	imxpd = devm_kzalloc(&pdev->dev, sizeof(*imxpd), GFP_KERNEL);
+	imxpd = devm_kzalloc(dev, sizeof(*imxpd), GFP_KERNEL);
 	if (!imxpd)
 		return -ENOMEM;
 
@@ -218,7 +219,7 @@ static int imx_pd_probe(struct platform_device *pdev)
 			imxpd->interface_pix_fmt = V4L2_PIX_FMT_BGR666;
 	}
 
-	imxpd->dev = &pdev->dev;
+	imxpd->dev = dev;
 
 	ret = imx_pd_register(imxpd);
 	if (ret)
@@ -226,14 +227,15 @@ static int imx_pd_probe(struct platform_device *pdev)
 
 	ret = imx_drm_encoder_add_possible_crtcs(imxpd->imx_drm_encoder, np);
 
-	platform_set_drvdata(pdev, imxpd);
+	dev_set_drvdata(dev, imxpd);
 
 	return 0;
 }
 
-static int imx_pd_remove(struct platform_device *pdev)
+static void imx_pd_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct imx_parallel_display *imxpd = platform_get_drvdata(pdev);
+	struct imx_parallel_display *imxpd = dev_get_drvdata(dev);
 	struct drm_connector *connector = &imxpd->connector;
 	struct drm_encoder *encoder = &imxpd->encoder;
 
@@ -241,7 +243,21 @@ static int imx_pd_remove(struct platform_device *pdev)
 
 	imx_drm_remove_connector(imxpd->imx_drm_connector);
 	imx_drm_remove_encoder(imxpd->imx_drm_encoder);
+}
 
+static const struct component_ops imx_pd_ops = {
+	.bind	= imx_pd_bind,
+	.unbind	= imx_pd_unbind,
+};
+
+static int imx_pd_probe(struct platform_device *pdev)
+{
+	return component_add(&pdev->dev, &imx_pd_ops);
+}
+
+static int imx_pd_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &imx_pd_ops);
 	return 0;
 }
 
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 19/35] imx-drm: convert to componentised device support
@ 2014-02-10 12:30     ` Russell King
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King @ 2014-02-10 12:30 UTC (permalink / raw)
  To: linux-arm-kernel

Use the componentised device support for imx-drm.  This requires all
the sub-components and the master device to register with the component
device support.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/boot/dts/imx51-babbage.dts        |  10 ++-
 arch/arm/boot/dts/imx53-m53evk.dts         |   8 ++-
 arch/arm/boot/dts/imx53-mba53.dts          |   6 ++
 arch/arm/boot/dts/imx53-qsb.dts            |   8 ++-
 arch/arm/boot/dts/imx6q-sabresd.dts        |   4 ++
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi     |   6 ++
 drivers/staging/imx-drm/imx-drm-core.c     | 105 +++++++++++++++++++++++------
 drivers/staging/imx-drm/imx-ldb.c          |  40 +++++++----
 drivers/staging/imx-drm/imx-tve.c          |  63 ++++++++++-------
 drivers/staging/imx-drm/ipuv3-crtc.c       |  46 +++++++++----
 drivers/staging/imx-drm/parallel-display.c |  30 +++++++--
 11 files changed, 246 insertions(+), 80 deletions(-)

diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts
index be1407cf5abd..6ff15a0eacb3 100644
--- a/arch/arm/boot/dts/imx51-babbage.dts
+++ b/arch/arm/boot/dts/imx51-babbage.dts
@@ -21,7 +21,7 @@
 		reg = <0x90000000 0x20000000>;
 	};
 
-	display at di0 {
+	display0: display at di0 {
 		compatible = "fsl,imx-parallel-display";
 		crtcs = <&ipu 0>;
 		interface-pix-fmt = "rgb24";
@@ -43,7 +43,7 @@
 		};
 	};
 
-	display at di1 {
+	display1: display at di1 {
 		compatible = "fsl,imx-parallel-display";
 		crtcs = <&ipu 1>;
 		interface-pix-fmt = "rgb565";
@@ -81,6 +81,12 @@
 		};
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 0>, <&ipu 1>;
+		connectors = <&display0>, <&display1>;
+	};
+
 	sound {
 		compatible = "fsl,imx51-babbage-sgtl5000",
 			     "fsl,imx-audio-sgtl5000";
diff --git a/arch/arm/boot/dts/imx53-m53evk.dts b/arch/arm/boot/dts/imx53-m53evk.dts
index 7d304d02ed38..ee6107b6484c 100644
--- a/arch/arm/boot/dts/imx53-m53evk.dts
+++ b/arch/arm/boot/dts/imx53-m53evk.dts
@@ -21,7 +21,7 @@
 	};
 
 	soc {
-		display at di1 {
+		display1: display at di1 {
 			compatible = "fsl,imx-parallel-display";
 			crtcs = <&ipu 1>;
 			interface-pix-fmt = "bgr666";
@@ -53,6 +53,12 @@
 		default-brightness-level = <6>;
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 1>;
+		connectors = <&display1>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/imx53-mba53.dts b/arch/arm/boot/dts/imx53-mba53.dts
index a63090267941..9b6e76980a74 100644
--- a/arch/arm/boot/dts/imx53-mba53.dts
+++ b/arch/arm/boot/dts/imx53-mba53.dts
@@ -43,6 +43,12 @@
 		status = "disabled";
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 1>;
+		connectors = <&disp1>, <&tve>;
+	};
+
 	reg_3p2v: 3p2v {
 		compatible = "regulator-fixed";
 		regulator-name = "3P2V";
diff --git a/arch/arm/boot/dts/imx53-qsb.dts b/arch/arm/boot/dts/imx53-qsb.dts
index 91a5935a4aac..3cb4f7791a91 100644
--- a/arch/arm/boot/dts/imx53-qsb.dts
+++ b/arch/arm/boot/dts/imx53-qsb.dts
@@ -21,7 +21,7 @@
 		reg = <0x70000000 0x40000000>;
 	};
 
-	display at di0 {
+	display0: display at di0 {
 		compatible = "fsl,imx-parallel-display";
 		crtcs = <&ipu 0>;
 		interface-pix-fmt = "rgb565";
@@ -72,6 +72,12 @@
 		};
 	};
 
+	imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu 0>;
+		connectors = <&display0>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts
index 9cbdfe7a0931..66f220a82e45 100644
--- a/arch/arm/boot/dts/imx6q-sabresd.dts
+++ b/arch/arm/boot/dts/imx6q-sabresd.dts
@@ -20,6 +20,10 @@
 	compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
 };
 
+&imx_drm {
+	crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
+};
+
 &sata {
 	status = "okay";
 };
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index e75e11b36dff..dfca3e001398 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -62,6 +62,12 @@
 		};
 	};
 
+	imx_drm: imx-drm {
+		compatible = "fsl,imx-drm";
+		crtcs = <&ipu1 0>, <&ipu1 1>;
+		connectors = <&ldb>;
+	};
+
 	sound {
 		compatible = "fsl,imx6q-sabresd-wm8962",
 			   "fsl,imx-audio-wm8962";
diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c
index d9786eca3a36..82b0337096b0 100644
--- a/drivers/staging/imx-drm/imx-drm-core.c
+++ b/drivers/staging/imx-drm/imx-drm-core.c
@@ -13,7 +13,7 @@
  * GNU General Public License for more details.
  *
  */
-
+#include <linux/component.h>
 #include <linux/device.h>
 #include <linux/platform_device.h>
 #include <drm/drmP.h>
@@ -90,6 +90,8 @@ static int imx_drm_driver_unload(struct drm_device *drm)
 {
 	struct imx_drm_device *imxdrm = drm->dev_private;
 
+	component_unbind_all(drm->dev, drm);
+
 	imx_drm_device_put();
 
 	drm_vblank_cleanup(drm);
@@ -371,11 +373,8 @@ static void imx_drm_connector_unregister(
 }
 
 /*
- * Called by the CRTC driver when all CRTCs are registered. This
- * puts all the pieces together and initializes the driver.
- * Once this is called no more CRTCs can be registered since
- * the drm core has hardcoded the number of crtcs in several
- * places.
+ * Main DRM initialisation. This binds, initialises and registers
+ * with DRM the subcomponents of the driver.
  */
 static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags)
 {
@@ -428,8 +427,15 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags)
 
 	platform_set_drvdata(drm->platformdev, drm);
 	mutex_unlock(&imxdrm->mutex);
+
+	/* Now try and bind all our sub-components */
+	ret = component_bind_all(drm->dev, drm);
+	if (ret)
+		goto err_relock;
 	return 0;
 
+err_relock:
+	mutex_lock(&imxdrm->mutex);
 err_vblank:
 	drm_vblank_cleanup(drm);
 err_kms:
@@ -809,6 +815,70 @@ static struct drm_driver imx_drm_driver = {
 	.patchlevel		= 0,
 };
 
+static int compare_parent_of(struct device *dev, void *data)
+{
+	struct of_phandle_args *args = data;
+	return dev->parent && dev->parent->of_node == args->np;
+}
+
+static int compare_of(struct device *dev, void *data)
+{
+	return dev->of_node == data;
+}
+
+static int imx_drm_add_components(struct device *master, struct master *m)
+{
+	struct device_node *np = master->of_node;
+	unsigned i;
+	int ret;
+
+	for (i = 0; ; i++) {
+		struct of_phandle_args args;
+
+		ret = of_parse_phandle_with_fixed_args(np, "crtcs", 1,
+						       i, &args);
+		if (ret)
+			break;
+
+		ret = component_master_add_child(m, compare_parent_of, &args);
+		of_node_put(args.np);
+
+		if (ret)
+			return ret;
+	}
+
+	for (i = 0; ; i++) {
+		struct device_node *node;
+
+		node = of_parse_phandle(np, "connectors", i);
+		if (!node)
+			break;
+
+		ret = component_master_add_child(m, compare_of, node);
+		of_node_put(node);
+
+		if (ret)
+			return ret;
+	}
+	return 0;
+}
+
+static int imx_drm_bind(struct device *dev)
+{
+	return drm_platform_init(&imx_drm_driver, to_platform_device(dev));
+}
+
+static void imx_drm_unbind(struct device *dev)
+{
+	drm_put_dev(dev_get_drvdata(dev));
+}
+
+static const struct component_master_ops imx_drm_ops = {
+	.add_components = imx_drm_add_components,
+	.bind = imx_drm_bind,
+	.unbind = imx_drm_unbind,
+};
+
 static int imx_drm_platform_probe(struct platform_device *pdev)
 {
 	int ret;
@@ -819,27 +889,31 @@ static int imx_drm_platform_probe(struct platform_device *pdev)
 
 	imx_drm_device->dev = &pdev->dev;
 
-	return drm_platform_init(&imx_drm_driver, pdev);
+	return component_master_add(&pdev->dev, &imx_drm_ops);
 }
 
 static int imx_drm_platform_remove(struct platform_device *pdev)
 {
-	drm_put_dev(platform_get_drvdata(pdev));
-
+	component_master_del(&pdev->dev, &imx_drm_ops);
 	return 0;
 }
 
+static const struct of_device_id imx_drm_dt_ids[] = {
+	{ .compatible = "fsl,imx-drm", },
+	{ /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, imx_drm_dt_ids);
+
 static struct platform_driver imx_drm_pdrv = {
 	.probe		= imx_drm_platform_probe,
 	.remove		= imx_drm_platform_remove,
 	.driver		= {
 		.owner	= THIS_MODULE,
 		.name	= "imx-drm",
+		.of_match_table = imx_drm_dt_ids,
 	},
 };
 
-static struct platform_device *imx_drm_pdev;
-
 static int __init imx_drm_init(void)
 {
 	int ret;
@@ -852,12 +926,6 @@ static int __init imx_drm_init(void)
 	INIT_LIST_HEAD(&imx_drm_device->connector_list);
 	INIT_LIST_HEAD(&imx_drm_device->encoder_list);
 
-	imx_drm_pdev = platform_device_register_simple("imx-drm", -1, NULL, 0);
-	if (IS_ERR(imx_drm_pdev)) {
-		ret = PTR_ERR(imx_drm_pdev);
-		goto err_pdev;
-	}
-
 	ret = platform_driver_register(&imx_drm_pdrv);
 	if (ret)
 		goto err_pdrv;
@@ -865,8 +933,6 @@ static int __init imx_drm_init(void)
 	return 0;
 
 err_pdrv:
-	platform_device_unregister(imx_drm_pdev);
-err_pdev:
 	kfree(imx_drm_device);
 
 	return ret;
@@ -874,7 +940,6 @@ static int __init imx_drm_init(void)
 
 static void __exit imx_drm_exit(void)
 {
-	platform_device_unregister(imx_drm_pdev);
 	platform_driver_unregister(&imx_drm_pdrv);
 
 	kfree(imx_drm_device);
diff --git a/drivers/staging/imx-drm/imx-ldb.c b/drivers/staging/imx-drm/imx-ldb.c
index dd29a4aad376..d00f93f3440d 100644
--- a/drivers/staging/imx-drm/imx-ldb.c
+++ b/drivers/staging/imx-drm/imx-ldb.c
@@ -20,6 +20,7 @@
 
 #include <linux/module.h>
 #include <linux/clk.h>
+#include <linux/component.h>
 #include <drm/drmP.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_crtc_helper.h>
@@ -450,11 +451,11 @@ static const struct of_device_id imx_ldb_dt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, imx_ldb_dt_ids);
 
-static int imx_ldb_probe(struct platform_device *pdev)
+static int imx_ldb_bind(struct device *dev, struct device *master, void *data)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct device_node *np = dev->of_node;
 	const struct of_device_id *of_id =
-			of_match_device(imx_ldb_dt_ids, &pdev->dev);
+			of_match_device(imx_ldb_dt_ids, dev);
 	struct device_node *child;
 	const u8 *edidp;
 	struct imx_ldb *imx_ldb;
@@ -464,17 +465,17 @@ static int imx_ldb_probe(struct platform_device *pdev)
 	int ret;
 	int i;
 
-	imx_ldb = devm_kzalloc(&pdev->dev, sizeof(*imx_ldb), GFP_KERNEL);
+	imx_ldb = devm_kzalloc(dev, sizeof(*imx_ldb), GFP_KERNEL);
 	if (!imx_ldb)
 		return -ENOMEM;
 
 	imx_ldb->regmap = syscon_regmap_lookup_by_phandle(np, "gpr");
 	if (IS_ERR(imx_ldb->regmap)) {
-		dev_err(&pdev->dev, "failed to get parent regmap\n");
+		dev_err(dev, "failed to get parent regmap\n");
 		return PTR_ERR(imx_ldb->regmap);
 	}
 
-	imx_ldb->dev = &pdev->dev;
+	imx_ldb->dev = dev;
 
 	if (of_id)
 		imx_ldb->lvds_mux = of_id->data;
@@ -512,7 +513,7 @@ static int imx_ldb_probe(struct platform_device *pdev)
 			return -EINVAL;
 
 		if (dual && i > 0) {
-			dev_warn(&pdev->dev, "dual-channel mode, ignoring second output\n");
+			dev_warn(dev, "dual-channel mode, ignoring second output\n");
 			continue;
 		}
 
@@ -551,7 +552,7 @@ static int imx_ldb_probe(struct platform_device *pdev)
 			break;
 		case LVDS_BIT_MAP_JEIDA:
 			if (datawidth == 18) {
-				dev_err(&pdev->dev, "JEIDA standard only supported in 24 bit\n");
+				dev_err(dev, "JEIDA standard only supported in 24 bit\n");
 				return -EINVAL;
 			}
 			if (i == 0 || dual)
@@ -560,7 +561,7 @@ static int imx_ldb_probe(struct platform_device *pdev)
 				imx_ldb->ldb_ctrl |= LDB_DATA_WIDTH_CH1_24 | LDB_BIT_MAP_CH1_JEIDA;
 			break;
 		default:
-			dev_err(&pdev->dev, "data mapping not specified or invalid\n");
+			dev_err(dev, "data mapping not specified or invalid\n");
 			return -EINVAL;
 		}
 
@@ -571,14 +572,15 @@ static int imx_ldb_probe(struct platform_device *pdev)
 		imx_drm_encoder_add_possible_crtcs(channel->imx_drm_encoder, child);
 	}
 
-	platform_set_drvdata(pdev, imx_ldb);
+	dev_set_drvdata(dev, imx_ldb);
 
 	return 0;
 }
 
-static int imx_ldb_remove(struct platform_device *pdev)
+static void imx_ldb_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct imx_ldb *imx_ldb = platform_get_drvdata(pdev);
+	struct imx_ldb *imx_ldb = dev_get_drvdata(dev);
 	int i;
 
 	for (i = 0; i < 2; i++) {
@@ -591,7 +593,21 @@ static int imx_ldb_remove(struct platform_device *pdev)
 		imx_drm_remove_connector(channel->imx_drm_connector);
 		imx_drm_remove_encoder(channel->imx_drm_encoder);
 	}
+}
 
+static const struct component_ops imx_ldb_ops = {
+	.bind	= imx_ldb_bind,
+	.unbind	= imx_ldb_unbind,
+};
+
+static int imx_ldb_probe(struct platform_device *pdev)
+{
+	return component_add(&pdev->dev, &imx_ldb_ops);
+}
+
+static int imx_ldb_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &imx_ldb_ops);
 	return 0;
 }
 
diff --git a/drivers/staging/imx-drm/imx-tve.c b/drivers/staging/imx-drm/imx-tve.c
index 77131e5770f3..ad840d78a09a 100644
--- a/drivers/staging/imx-drm/imx-tve.c
+++ b/drivers/staging/imx-drm/imx-tve.c
@@ -20,6 +20,7 @@
 
 #include <linux/clk.h>
 #include <linux/clk-provider.h>
+#include <linux/component.h>
 #include <linux/module.h>
 #include <linux/i2c.h>
 #include <linux/regmap.h>
@@ -583,9 +584,10 @@ static const int of_get_tve_mode(struct device_node *np)
 	return -EINVAL;
 }
 
-static int imx_tve_probe(struct platform_device *pdev)
+static int imx_tve_bind(struct device *dev, struct device *master, void *data)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct platform_device *pdev = to_platform_device(dev);
+	struct device_node *np = dev->of_node;
 	struct device_node *ddc_node;
 	struct imx_tve *tve;
 	struct resource *res;
@@ -594,11 +596,11 @@ static int imx_tve_probe(struct platform_device *pdev)
 	int irq;
 	int ret;
 
-	tve = devm_kzalloc(&pdev->dev, sizeof(*tve), GFP_KERNEL);
+	tve = devm_kzalloc(dev, sizeof(*tve), GFP_KERNEL);
 	if (!tve)
 		return -ENOMEM;
 
-	tve->dev = &pdev->dev;
+	tve->dev = dev;
 	spin_lock_init(&tve->lock);
 
 	ddc_node = of_parse_phandle(np, "ddc", 0);
@@ -609,7 +611,7 @@ static int imx_tve_probe(struct platform_device *pdev)
 
 	tve->mode = of_get_tve_mode(np);
 	if (tve->mode != TVE_MODE_VGA) {
-		dev_err(&pdev->dev, "only VGA mode supported, currently\n");
+		dev_err(dev, "only VGA mode supported, currently\n");
 		return -EINVAL;
 	}
 
@@ -618,7 +620,7 @@ static int imx_tve_probe(struct platform_device *pdev)
 					   &tve->hsync_pin);
 
 		if (ret < 0) {
-			dev_err(&pdev->dev, "failed to get vsync pin\n");
+			dev_err(dev, "failed to get vsync pin\n");
 			return ret;
 		}
 
@@ -626,40 +628,40 @@ static int imx_tve_probe(struct platform_device *pdev)
 					    &tve->vsync_pin);
 
 		if (ret < 0) {
-			dev_err(&pdev->dev, "failed to get vsync pin\n");
+			dev_err(dev, "failed to get vsync pin\n");
 			return ret;
 		}
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	base = devm_ioremap_resource(&pdev->dev, res);
+	base = devm_ioremap_resource(dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
 
 	tve_regmap_config.lock_arg = tve;
-	tve->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "tve", base,
+	tve->regmap = devm_regmap_init_mmio_clk(dev, "tve", base,
 						&tve_regmap_config);
 	if (IS_ERR(tve->regmap)) {
-		dev_err(&pdev->dev, "failed to init regmap: %ld\n",
+		dev_err(dev, "failed to init regmap: %ld\n",
 			PTR_ERR(tve->regmap));
 		return PTR_ERR(tve->regmap);
 	}
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
-		dev_err(&pdev->dev, "failed to get irq\n");
+		dev_err(dev, "failed to get irq\n");
 		return irq;
 	}
 
-	ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
+	ret = devm_request_threaded_irq(dev, irq, NULL,
 					imx_tve_irq_handler, IRQF_ONESHOT,
 					"imx-tve", tve);
 	if (ret < 0) {
-		dev_err(&pdev->dev, "failed to request irq: %d\n", ret);
+		dev_err(dev, "failed to request irq: %d\n", ret);
 		return ret;
 	}
 
-	tve->dac_reg = devm_regulator_get(&pdev->dev, "dac");
+	tve->dac_reg = devm_regulator_get(dev, "dac");
 	if (!IS_ERR(tve->dac_reg)) {
 		regulator_set_voltage(tve->dac_reg, 2750000, 2750000);
 		ret = regulator_enable(tve->dac_reg);
@@ -667,17 +669,17 @@ static int imx_tve_probe(struct platform_device *pdev)
 			return ret;
 	}
 
-	tve->clk = devm_clk_get(&pdev->dev, "tve");
+	tve->clk = devm_clk_get(dev, "tve");
 	if (IS_ERR(tve->clk)) {
-		dev_err(&pdev->dev, "failed to get high speed tve clock: %ld\n",
+		dev_err(dev, "failed to get high speed tve clock: %ld\n",
 			PTR_ERR(tve->clk));
 		return PTR_ERR(tve->clk);
 	}
 
 	/* this is the IPU DI clock input selector, can be parented to tve_di */
-	tve->di_sel_clk = devm_clk_get(&pdev->dev, "di_sel");
+	tve->di_sel_clk = devm_clk_get(dev, "di_sel");
 	if (IS_ERR(tve->di_sel_clk)) {
-		dev_err(&pdev->dev, "failed to get ipu di mux clock: %ld\n",
+		dev_err(dev, "failed to get ipu di mux clock: %ld\n",
 			PTR_ERR(tve->di_sel_clk));
 		return PTR_ERR(tve->di_sel_clk);
 	}
@@ -688,11 +690,11 @@ static int imx_tve_probe(struct platform_device *pdev)
 
 	ret = regmap_read(tve->regmap, TVE_COM_CONF_REG, &val);
 	if (ret < 0) {
-		dev_err(&pdev->dev, "failed to read configuration register: %d\n", ret);
+		dev_err(dev, "failed to read configuration register: %d\n", ret);
 		return ret;
 	}
 	if (val != 0x00100000) {
-		dev_err(&pdev->dev, "configuration register default value indicates this is not a TVEv2\n");
+		dev_err(dev, "configuration register default value indicates this is not a TVEv2\n");
 		return -ENODEV;
 	}
 
@@ -705,14 +707,15 @@ static int imx_tve_probe(struct platform_device *pdev)
 
 	ret = imx_drm_encoder_add_possible_crtcs(tve->imx_drm_encoder, np);
 
-	platform_set_drvdata(pdev, tve);
+	dev_set_drvdata(dev, tve);
 
 	return 0;
 }
 
-static int imx_tve_remove(struct platform_device *pdev)
+static void imx_tve_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct imx_tve *tve = platform_get_drvdata(pdev);
+	struct imx_tve *tve = dev_get_drvdata(dev);
 	struct drm_connector *connector = &tve->connector;
 	struct drm_encoder *encoder = &tve->encoder;
 
@@ -723,7 +726,21 @@ static int imx_tve_remove(struct platform_device *pdev)
 
 	if (!IS_ERR(tve->dac_reg))
 		regulator_disable(tve->dac_reg);
+}
 
+static const struct component_ops imx_tve_ops = {
+	.bind	= imx_tve_bind,
+	.unbind	= imx_tve_unbind,
+};
+
+static int imx_tve_probe(struct platform_device *pdev)
+{
+	return component_add(&pdev->dev, &imx_tve_ops);
+}
+
+static int imx_tve_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &imx_tve_ops);
 	return 0;
 }
 
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c
index 08e0a3b29174..d779ad2d1f4e 100644
--- a/drivers/staging/imx-drm/ipuv3-crtc.c
+++ b/drivers/staging/imx-drm/ipuv3-crtc.c
@@ -17,6 +17,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA 02110-1301, USA.
  */
+#include <linux/component.h>
 #include <linux/module.h>
 #include <linux/export.h>
 #include <linux/device.h>
@@ -400,43 +401,60 @@ static int ipu_crtc_init(struct ipu_crtc *ipu_crtc,
 	return ret;
 }
 
-static int ipu_drm_probe(struct platform_device *pdev)
+static int ipu_drm_bind(struct device *dev, struct device *master, void *data)
 {
-	struct ipu_client_platformdata *pdata = pdev->dev.platform_data;
+	struct ipu_client_platformdata *pdata = dev->platform_data;
 	struct ipu_crtc *ipu_crtc;
 	int ret;
 
-	if (!pdata)
-		return -EINVAL;
-
-	ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
-	if (ret)
-		return ret;
-
-	ipu_crtc = devm_kzalloc(&pdev->dev, sizeof(*ipu_crtc), GFP_KERNEL);
+	ipu_crtc = devm_kzalloc(dev, sizeof(*ipu_crtc), GFP_KERNEL);
 	if (!ipu_crtc)
 		return -ENOMEM;
 
-	ipu_crtc->dev = &pdev->dev;
+	ipu_crtc->dev = dev;
 
 	ret = ipu_crtc_init(ipu_crtc, pdata);
 	if (ret)
 		return ret;
 
-	platform_set_drvdata(pdev, ipu_crtc);
+	dev_set_drvdata(dev, ipu_crtc);
 
 	return 0;
 }
 
-static int ipu_drm_remove(struct platform_device *pdev)
+static void ipu_drm_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct ipu_crtc *ipu_crtc = platform_get_drvdata(pdev);
+	struct ipu_crtc *ipu_crtc = dev_get_drvdata(dev);
 
 	imx_drm_remove_crtc(ipu_crtc->imx_crtc);
 
 	ipu_plane_put_resources(ipu_crtc->plane[0]);
 	ipu_put_resources(ipu_crtc);
+}
+
+static const struct component_ops ipu_crtc_ops = {
+	.bind = ipu_drm_bind,
+	.unbind = ipu_drm_unbind,
+};
 
+static int ipu_drm_probe(struct platform_device *pdev)
+{
+	int ret;
+
+	if (!pdev->dev.platform_data)
+		return -EINVAL;
+
+	ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+	if (ret)
+		return ret;
+
+	return component_add(&pdev->dev, &ipu_crtc_ops);
+}
+
+static int ipu_drm_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &ipu_crtc_ops);
 	return 0;
 }
 
diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c
index 12bcf4f58bdf..4019cae35ff9 100644
--- a/drivers/staging/imx-drm/parallel-display.c
+++ b/drivers/staging/imx-drm/parallel-display.c
@@ -18,6 +18,7 @@
  * MA 02110-1301, USA.
  */
 
+#include <linux/component.h>
 #include <linux/module.h>
 #include <drm/drmP.h>
 #include <drm/drm_fb_helper.h>
@@ -192,15 +193,15 @@ static int imx_pd_register(struct imx_parallel_display *imxpd)
 	return 0;
 }
 
-static int imx_pd_probe(struct platform_device *pdev)
+static int imx_pd_bind(struct device *dev, struct device *master, void *data)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct device_node *np = dev->of_node;
 	const u8 *edidp;
 	struct imx_parallel_display *imxpd;
 	int ret;
 	const char *fmt;
 
-	imxpd = devm_kzalloc(&pdev->dev, sizeof(*imxpd), GFP_KERNEL);
+	imxpd = devm_kzalloc(dev, sizeof(*imxpd), GFP_KERNEL);
 	if (!imxpd)
 		return -ENOMEM;
 
@@ -218,7 +219,7 @@ static int imx_pd_probe(struct platform_device *pdev)
 			imxpd->interface_pix_fmt = V4L2_PIX_FMT_BGR666;
 	}
 
-	imxpd->dev = &pdev->dev;
+	imxpd->dev = dev;
 
 	ret = imx_pd_register(imxpd);
 	if (ret)
@@ -226,14 +227,15 @@ static int imx_pd_probe(struct platform_device *pdev)
 
 	ret = imx_drm_encoder_add_possible_crtcs(imxpd->imx_drm_encoder, np);
 
-	platform_set_drvdata(pdev, imxpd);
+	dev_set_drvdata(dev, imxpd);
 
 	return 0;
 }
 
-static int imx_pd_remove(struct platform_device *pdev)
+static void imx_pd_unbind(struct device *dev, struct device *master,
+	void *data)
 {
-	struct imx_parallel_display *imxpd = platform_get_drvdata(pdev);
+	struct imx_parallel_display *imxpd = dev_get_drvdata(dev);
 	struct drm_connector *connector = &imxpd->connector;
 	struct drm_encoder *encoder = &imxpd->encoder;
 
@@ -241,7 +243,21 @@ static int imx_pd_remove(struct platform_device *pdev)
 
 	imx_drm_remove_connector(imxpd->imx_drm_connector);
 	imx_drm_remove_encoder(imxpd->imx_drm_encoder);
+}
 
+static const struct component_ops imx_pd_ops = {
+	.bind	= imx_pd_bind,
+	.unbind	= imx_pd_unbind,
+};
+
+static int imx_pd_probe(struct platform_device *pdev)
+{
+	return component_add(&pdev->dev, &imx_pd_ops);
+}
+
+static int imx_pd_remove(struct platform_device *pdev)
+{
+	component_del(&pdev->dev, &imx_pd_ops);
 	return 0;
 }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-10 15:12   ` Philipp Zabel
  -1 siblings, 0 replies; 35+ messages in thread
From: Philipp Zabel @ 2014-02-10 15:12 UTC (permalink / raw)
  To: linux-arm-kernel

Am Montag, den 10.02.2014, 12:28 +0000 schrieb Russell King - ARM Linux:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
> 
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
> 
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
> 
> If I can have some acks for this, I'll start sending some of it to
>
>
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

For the first 9 patches up to (including) "imx-drm: ipu-v3: more
clocking fixes":
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

As you say, comments about the device tree bindings still apply.
I'd prefer if the patches that currently use the crtcs property were
reworked to use the v4l2 style device tree bindings before they hit
mainline.

regards
Philipp

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-10 15:12   ` Philipp Zabel
  0 siblings, 0 replies; 35+ messages in thread
From: Philipp Zabel @ 2014-02-10 15:12 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, David Airlie, Greg Kroah-Hartman, dri-devel, Sascha Hauer,
	Shawn Guo, linux-arm-kernel

Am Montag, den 10.02.2014, 12:28 +0000 schrieb Russell King - ARM Linux:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
> 
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
> 
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
> 
> If I can have some acks for this, I'll start sending some of it to
>
>
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

For the first 9 patches up to (including) "imx-drm: ipu-v3: more
clocking fixes":
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

As you say, comments about the device tree bindings still apply.
I'd prefer if the patches that currently use the crtcs property were
reworked to use the v4l2 style device tree bindings before they hit
mainline.

regards
Philipp

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 15:12   ` Philipp Zabel
@ 2014-02-10 15:18     ` Russell King - ARM Linux
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-10 15:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 10, 2014 at 04:12:19PM +0100, Philipp Zabel wrote:
> Am Montag, den 10.02.2014, 12:28 +0000 schrieb Russell King - ARM Linux:
> > This is the latest revision of my series cleaning up imx-drm and
> > hopefully getting it ready to be moved out of drivers/staging.
> > This series is updated to v3.14-rc2.
> > 
> > Since the last round of patches were posted, the component support
> > has been merged into mainline, and thus dropped from this series.
> > Greg has taken the first three patches and merged them into his
> > linux-next tree - however, I include them here for completness.
> > 
> > Most of the comments from last time still apply, and I'll look at
> > incorporating some of the other patches that were posted in the
> > coming week.
> > 
> > If I can have some acks for this, I'll start sending some of it to
> >
> >
> > Greg - I'd like to at least get the five or six initial imx-hdmi
> > patches to Greg and queued up for the next merge window sooner
> > rather than later, preferably getting most of this ready for that
> > window too.
> 
> For the first 9 patches up to (including) "imx-drm: ipu-v3: more
> clocking fixes":
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
> 
> As you say, comments about the device tree bindings still apply.
> I'd prefer if the patches that currently use the crtcs property were
> reworked to use the v4l2 style device tree bindings before they hit
> mainline.

I'm trying /not/ to do that much more work on this because there's
other things that need my attention, like a complete rewrite of the
SDHCI mess.  I want to get the imx-drm stuff off my plate so I don't
have to worry about it.

So, I'd really like _all_ these patches to go into mainline for v3.15
with the least rework possible so I can spend the next few months
working on rewriting SDHCI.

What I don't want is carrying hundreds of patches across multiple
kernel versions.

Now, mind explaining what "v4l2 style device tree bindings" means?  I've
no idea since I'm relatively new to DT.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-10 15:18     ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-10 15:18 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: devel, David Airlie, Greg Kroah-Hartman, dri-devel, Sascha Hauer,
	Shawn Guo, linux-arm-kernel

On Mon, Feb 10, 2014 at 04:12:19PM +0100, Philipp Zabel wrote:
> Am Montag, den 10.02.2014, 12:28 +0000 schrieb Russell King - ARM Linux:
> > This is the latest revision of my series cleaning up imx-drm and
> > hopefully getting it ready to be moved out of drivers/staging.
> > This series is updated to v3.14-rc2.
> > 
> > Since the last round of patches were posted, the component support
> > has been merged into mainline, and thus dropped from this series.
> > Greg has taken the first three patches and merged them into his
> > linux-next tree - however, I include them here for completness.
> > 
> > Most of the comments from last time still apply, and I'll look at
> > incorporating some of the other patches that were posted in the
> > coming week.
> > 
> > If I can have some acks for this, I'll start sending some of it to
> >
> >
> > Greg - I'd like to at least get the five or six initial imx-hdmi
> > patches to Greg and queued up for the next merge window sooner
> > rather than later, preferably getting most of this ready for that
> > window too.
> 
> For the first 9 patches up to (including) "imx-drm: ipu-v3: more
> clocking fixes":
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
> 
> As you say, comments about the device tree bindings still apply.
> I'd prefer if the patches that currently use the crtcs property were
> reworked to use the v4l2 style device tree bindings before they hit
> mainline.

I'm trying /not/ to do that much more work on this because there's
other things that need my attention, like a complete rewrite of the
SDHCI mess.  I want to get the imx-drm stuff off my plate so I don't
have to worry about it.

So, I'd really like _all_ these patches to go into mainline for v3.15
with the least rework possible so I can spend the next few months
working on rewriting SDHCI.

What I don't want is carrying hundreds of patches across multiple
kernel versions.

Now, mind explaining what "v4l2 style device tree bindings" means?  I've
no idea since I'm relatively new to DT.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 15:18     ` Russell King - ARM Linux
@ 2014-02-10 16:00       ` Jean-Francois Moine
  -1 siblings, 0 replies; 35+ messages in thread
From: Jean-Francois Moine @ 2014-02-10 16:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 10 Feb 2014 15:18:21 +0000
Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:

> Now, mind explaining what "v4l2 style device tree bindings" means?  I've
> no idea since I'm relatively new to DT.

Documentation/devicetree/bindings/media/video-interfaces.txt

For the Cubox, I have:

	tda998x: hdmi-encoder {
		compatible = "nxp,tda998x";
		...
		port {
			tda998x_0: endpoint at 0 {
				remote-endpoint = <&lcd0_0>;
			};
		};
	};

&lcd0 {
	status = "okay";
	...
	port {
		lcd0_0: endpoint at 0 {
			remote-endpoint = <&tda998x_0>;
		};
	};
};


-- 
Ken ar c'henta?	|	      ** Breizh ha Linux atav! **
Jef		|		http://moinejf.free.fr/

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-10 16:00       ` Jean-Francois Moine
  0 siblings, 0 replies; 35+ messages in thread
From: Jean-Francois Moine @ 2014-02-10 16:00 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, Philipp Zabel, David Airlie, Greg Kroah-Hartman,
	dri-devel, Sascha Hauer, Shawn Guo, linux-arm-kernel

On Mon, 10 Feb 2014 15:18:21 +0000
Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:

> Now, mind explaining what "v4l2 style device tree bindings" means?  I've
> no idea since I'm relatively new to DT.

Documentation/devicetree/bindings/media/video-interfaces.txt

For the Cubox, I have:

	tda998x: hdmi-encoder {
		compatible = "nxp,tda998x";
		...
		port {
			tda998x_0: endpoint@0 {
				remote-endpoint = <&lcd0_0>;
			};
		};
	};

&lcd0 {
	status = "okay";
	...
	port {
		lcd0_0: endpoint@0 {
			remote-endpoint = <&tda998x_0>;
		};
	};
};


-- 
Ken ar c'hentañ	|	      ** Breizh ha Linux atav! **
Jef		|		http://moinejf.free.fr/
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 15:18     ` Russell King - ARM Linux
  (?)
  (?)
@ 2014-02-10 17:37     ` Philipp Zabel
  2014-02-10 17:56         ` Russell King - ARM Linux
  -1 siblings, 1 reply; 35+ messages in thread
From: Philipp Zabel @ 2014-02-10 17:37 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, Greg Kroah-Hartman, dri-devel, Sascha Hauer, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 3345 bytes --]

Hi Russell,

On Mon, Feb 10, 2014 at 4:18 PM, Russell King - ARM Linux <
linux@arm.linux.org.uk> wrote:

> On Mon, Feb 10, 2014 at 04:12:19PM +0100, Philipp Zabel wrote:
> > Am Montag, den 10.02.2014, 12:28 +0000 schrieb Russell King - ARM Linux:
> > > This is the latest revision of my series cleaning up imx-drm and
> > > hopefully getting it ready to be moved out of drivers/staging.
> > > This series is updated to v3.14-rc2.
> > >
> > > Since the last round of patches were posted, the component support
> > > has been merged into mainline, and thus dropped from this series.
> > > Greg has taken the first three patches and merged them into his
> > > linux-next tree - however, I include them here for completness.
> > >
> > > Most of the comments from last time still apply, and I'll look at
> > > incorporating some of the other patches that were posted in the
> > > coming week.
> > >
> > > If I can have some acks for this, I'll start sending some of it to
> > >
> > >
> > > Greg - I'd like to at least get the five or six initial imx-hdmi
> > > patches to Greg and queued up for the next merge window sooner
> > > rather than later, preferably getting most of this ready for that
> > > window too.
> >
> > For the first 9 patches up to (including) "imx-drm: ipu-v3: more
> > clocking fixes":
> > Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
> >
> > As you say, comments about the device tree bindings still apply.
> > I'd prefer if the patches that currently use the crtcs property were
> > reworked to use the v4l2 style device tree bindings before they hit
> > mainline.
>
> I'm trying /not/ to do that much more work on this because there's
> other things that need my attention, like a complete rewrite of the
> SDHCI mess.  I want to get the imx-drm stuff off my plate so I don't
> have to worry about it.
>
> So, I'd really like _all_ these patches to go into mainline for v3.15
>
with the least rework possible so I can spend the next few months
> working on rewriting SDHCI.
>

I'd like all of them to go through, too. If you don't want to have the DT
changes integrated, I'd appreciate if you could have a  look at my
patches on top of your series and possibly append them to your
series or let me synchronize somehow:

http://archive.arm.linux.org.uk/lurker/message/20140106.145159.a1d82ba9.en.html

I'll prepare an updated more complete version that should work on the
CarrierOne.
Some feedback would be appreciated so I can improve them in time
for your series' final submission.
The only thing I'd like to avoid is to have a stable v3.15 release with
the old IPU specific bindings widely used due to the newly added
HDMI support.

What I don't want is carrying hundreds of patches across multiple
> kernel versions.
>

No complaints there.

Now, mind explaining what "v4l2 style device tree bindings" means?  I've
> no idea since I'm relatively new to DT.
>

Sorry, I was under the impression that people at the 2013 kernel summit
drm/dt discussion were aware of those bindings and kind of agreed on
(or at least did not oppose) them:

Documentation/devicetree/bindings/media/video-interfaces.txt

The first patch of the above patchset adds the i.MX6 specific connections
for
the output paths according to this binding:
http://archive.arm.linux.org.uk/lurker/message/20140106.145200.24ed4a48.en.html

regards
Philipp

[-- Attachment #1.2: Type: text/html, Size: 4873 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 17:37     ` Philipp Zabel
@ 2014-02-10 17:56         ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-10 17:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 10, 2014 at 06:37:26PM +0100, Philipp Zabel wrote:
> I'd like all of them to go through, too. If you don't want to have the DT
> changes integrated, I'd appreciate if you could have a  look at my
> patches on top of your series and possibly append them to your
> series or let me synchronize somehow:
> 
> http://archive.arm.linux.org.uk/lurker/message/20140106.145159.a1d82ba9.en.html

I replied to your 2nd patch there...

I'm not happy ending up with a hard dependency between v4l2 code and
code needed for the display side to work, especially when we can end
up with imx-drm being the primary console display.  I've outlined my
thoughts about what I think needs to happen in the reply to patch 2.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-10 17:56         ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-10 17:56 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: devel, Philipp Zabel, David Airlie, Greg Kroah-Hartman,
	dri-devel, Sascha Hauer, Shawn Guo, linux-arm-kernel

On Mon, Feb 10, 2014 at 06:37:26PM +0100, Philipp Zabel wrote:
> I'd like all of them to go through, too. If you don't want to have the DT
> changes integrated, I'd appreciate if you could have a  look at my
> patches on top of your series and possibly append them to your
> series or let me synchronize somehow:
> 
> http://archive.arm.linux.org.uk/lurker/message/20140106.145159.a1d82ba9.en.html

I replied to your 2nd patch there...

I'm not happy ending up with a hard dependency between v4l2 code and
code needed for the display side to work, especially when we can end
up with imx-drm being the primary console display.  I've outlined my
thoughts about what I think needs to happen in the reply to patch 2.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-12  9:56   ` Russell King - ARM Linux
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-12  9:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 10, 2014 at 12:28:03PM +0000, Russell King - ARM Linux wrote:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
> 
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
> 
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
> 
> If I can have some acks for this, I'll start sending some of it to
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

So far, only the first few patches have been acked by one person.  What
about the remainder?  There's been no comments on them either...

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12  9:56   ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-12  9:56 UTC (permalink / raw)
  To: David Airlie, Greg Kroah-Hartman, Sascha Hauer, Shawn Guo, Fabio Estevam
  Cc: devel, linux-arm-kernel, dri-devel

On Mon, Feb 10, 2014 at 12:28:03PM +0000, Russell King - ARM Linux wrote:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
> 
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
> 
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
> 
> If I can have some acks for this, I'll start sending some of it to
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

So far, only the first few patches have been acked by one person.  What
about the remainder?  There's been no comments on them either...

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-12 11:53   ` Fabio Estevam
  -1 siblings, 0 replies; 35+ messages in thread
From: Fabio Estevam @ 2014-02-12 11:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
>
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
>
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
>
> If I can have some acks for this, I'll start sending some of it to
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

Series looks good:

Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>

Patch 04/35 will not be needed in the final submission, as there is
already a fix for the build issue in Greg's tree.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12 11:53   ` Fabio Estevam
  0 siblings, 0 replies; 35+ messages in thread
From: Fabio Estevam @ 2014-02-12 11:53 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, David Airlie, Greg Kroah-Hartman, DRI mailing list,
	Sascha Hauer, Shawn Guo, linux-arm-kernel

On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
>
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
>
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
>
> If I can have some acks for this, I'll start sending some of it to
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

Series looks good:

Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>

Patch 04/35 will not be needed in the final submission, as there is
already a fix for the build issue in Greg's tree.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-12 11:53   ` Fabio Estevam
@ 2014-02-12 12:04     ` Christian Gmeiner
  -1 siblings, 0 replies; 35+ messages in thread
From: Christian Gmeiner @ 2014-02-12 12:04 UTC (permalink / raw)
  To: linux-arm-kernel

2014-02-12 12:53 GMT+01:00 Fabio Estevam <festevam@gmail.com>:
> On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
>> This is the latest revision of my series cleaning up imx-drm and
>> hopefully getting it ready to be moved out of drivers/staging.
>> This series is updated to v3.14-rc2.
>>
>> Since the last round of patches were posted, the component support
>> has been merged into mainline, and thus dropped from this series.
>> Greg has taken the first three patches and merged them into his
>> linux-next tree - however, I include them here for completness.
>>
>> Most of the comments from last time still apply, and I'll look at
>> incorporating some of the other patches that were posted in the
>> coming week.
>>
>> If I can have some acks for this, I'll start sending some of it to
>> Greg - I'd like to at least get the five or six initial imx-hdmi
>> patches to Greg and queued up for the next merge window sooner
>> rather than later, preferably getting most of this ready for that
>> window too.
>
> Series looks good:
>
> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
>
> Patch 04/35 will not be needed in the final submission, as there is
> already a fix for the build issue in Greg's tree.
>

I am the only one who does not get the whole series?

Even here ony a handfull of patches are listed:
http://www.spinics.net/lists/arm-kernel/threads.html#306292

--
Christian Gmeiner, MSc

https://soundcloud.com/christian-gmeiner

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12 12:04     ` Christian Gmeiner
  0 siblings, 0 replies; 35+ messages in thread
From: Christian Gmeiner @ 2014-02-12 12:04 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: devel, Russell King - ARM Linux, David Airlie,
	Greg Kroah-Hartman, DRI mailing list, Sascha Hauer, Shawn Guo,
	linux-arm-kernel

2014-02-12 12:53 GMT+01:00 Fabio Estevam <festevam@gmail.com>:
> On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
>> This is the latest revision of my series cleaning up imx-drm and
>> hopefully getting it ready to be moved out of drivers/staging.
>> This series is updated to v3.14-rc2.
>>
>> Since the last round of patches were posted, the component support
>> has been merged into mainline, and thus dropped from this series.
>> Greg has taken the first three patches and merged them into his
>> linux-next tree - however, I include them here for completness.
>>
>> Most of the comments from last time still apply, and I'll look at
>> incorporating some of the other patches that were posted in the
>> coming week.
>>
>> If I can have some acks for this, I'll start sending some of it to
>> Greg - I'd like to at least get the five or six initial imx-hdmi
>> patches to Greg and queued up for the next merge window sooner
>> rather than later, preferably getting most of this ready for that
>> window too.
>
> Series looks good:
>
> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
>
> Patch 04/35 will not be needed in the final submission, as there is
> already a fix for the build issue in Greg's tree.
>

I am the only one who does not get the whole series?

Even here ony a handfull of patches are listed:
http://www.spinics.net/lists/arm-kernel/threads.html#306292

--
Christian Gmeiner, MSc

https://soundcloud.com/christian-gmeiner

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-12 12:04     ` Christian Gmeiner
@ 2014-02-12 12:45       ` Russell King - ARM Linux
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-12 12:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 12, 2014 at 01:04:30PM +0100, Christian Gmeiner wrote:
> 2014-02-12 12:53 GMT+01:00 Fabio Estevam <festevam@gmail.com>:
> > On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
> > <linux@arm.linux.org.uk> wrote:
> >> This is the latest revision of my series cleaning up imx-drm and
> >> hopefully getting it ready to be moved out of drivers/staging.
> >> This series is updated to v3.14-rc2.
> >>
> >> Since the last round of patches were posted, the component support
> >> has been merged into mainline, and thus dropped from this series.
> >> Greg has taken the first three patches and merged them into his
> >> linux-next tree - however, I include them here for completness.
> >>
> >> Most of the comments from last time still apply, and I'll look at
> >> incorporating some of the other patches that were posted in the
> >> coming week.
> >>
> >> If I can have some acks for this, I'll start sending some of it to
> >> Greg - I'd like to at least get the five or six initial imx-hdmi
> >> patches to Greg and queued up for the next merge window sooner
> >> rather than later, preferably getting most of this ready for that
> >> window too.
> >
> > Series looks good:
> >
> > Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
> >
> > Patch 04/35 will not be needed in the final submission, as there is
> > already a fix for the build issue in Greg's tree.
> >
> 
> I am the only one who does not get the whole series?
> 
> Even here ony a handfull of patches are listed:
> http://www.spinics.net/lists/arm-kernel/threads.html#306292

You will find it all on the devel at driverdev.osuosl.org archive.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12 12:45       ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-12 12:45 UTC (permalink / raw)
  To: Christian Gmeiner
  Cc: devel, David Airlie, Greg Kroah-Hartman, DRI mailing list,
	Sascha Hauer, Shawn Guo, linux-arm-kernel

On Wed, Feb 12, 2014 at 01:04:30PM +0100, Christian Gmeiner wrote:
> 2014-02-12 12:53 GMT+01:00 Fabio Estevam <festevam@gmail.com>:
> > On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
> > <linux@arm.linux.org.uk> wrote:
> >> This is the latest revision of my series cleaning up imx-drm and
> >> hopefully getting it ready to be moved out of drivers/staging.
> >> This series is updated to v3.14-rc2.
> >>
> >> Since the last round of patches were posted, the component support
> >> has been merged into mainline, and thus dropped from this series.
> >> Greg has taken the first three patches and merged them into his
> >> linux-next tree - however, I include them here for completness.
> >>
> >> Most of the comments from last time still apply, and I'll look at
> >> incorporating some of the other patches that were posted in the
> >> coming week.
> >>
> >> If I can have some acks for this, I'll start sending some of it to
> >> Greg - I'd like to at least get the five or six initial imx-hdmi
> >> patches to Greg and queued up for the next merge window sooner
> >> rather than later, preferably getting most of this ready for that
> >> window too.
> >
> > Series looks good:
> >
> > Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
> >
> > Patch 04/35 will not be needed in the final submission, as there is
> > already a fix for the build issue in Greg's tree.
> >
> 
> I am the only one who does not get the whole series?
> 
> Even here ony a handfull of patches are listed:
> http://www.spinics.net/lists/arm-kernel/threads.html#306292

You will find it all on the devel@driverdev.osuosl.org archive.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 12:28 ` Russell King - ARM Linux
@ 2014-02-12 12:56   ` Shawn Guo
  -1 siblings, 0 replies; 35+ messages in thread
From: Shawn Guo @ 2014-02-12 12:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 10, 2014 at 12:28:03PM +0000, Russell King - ARM Linux wrote:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
> 
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
> 
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
> 
> If I can have some acks for this, I'll start sending some of it to
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

For the series,

Acked-by: Shawn Guo <shawn.guo@linaro.org>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12 12:56   ` Shawn Guo
  0 siblings, 0 replies; 35+ messages in thread
From: Shawn Guo @ 2014-02-12 12:56 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, David Airlie, Greg Kroah-Hartman, dri-devel, Sascha Hauer,
	linux-arm-kernel

On Mon, Feb 10, 2014 at 12:28:03PM +0000, Russell King - ARM Linux wrote:
> This is the latest revision of my series cleaning up imx-drm and
> hopefully getting it ready to be moved out of drivers/staging.
> This series is updated to v3.14-rc2.
> 
> Since the last round of patches were posted, the component support
> has been merged into mainline, and thus dropped from this series.
> Greg has taken the first three patches and merged them into his
> linux-next tree - however, I include them here for completness.
> 
> Most of the comments from last time still apply, and I'll look at
> incorporating some of the other patches that were posted in the
> coming week.
> 
> If I can have some acks for this, I'll start sending some of it to
> Greg - I'd like to at least get the five or six initial imx-hdmi
> patches to Greg and queued up for the next merge window sooner
> rather than later, preferably getting most of this ready for that
> window too.

For the series,

Acked-by: Shawn Guo <shawn.guo@linaro.org>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-12 12:45       ` Russell King - ARM Linux
@ 2014-02-12 13:11         ` Christian Gmeiner
  -1 siblings, 0 replies; 35+ messages in thread
From: Christian Gmeiner @ 2014-02-12 13:11 UTC (permalink / raw)
  To: linux-arm-kernel

2014-02-12 13:45 GMT+01:00 Russell King - ARM Linux <linux@arm.linux.org.uk>:
> On Wed, Feb 12, 2014 at 01:04:30PM +0100, Christian Gmeiner wrote:
>> 2014-02-12 12:53 GMT+01:00 Fabio Estevam <festevam@gmail.com>:
>> > On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
>> > <linux@arm.linux.org.uk> wrote:
>> >> This is the latest revision of my series cleaning up imx-drm and
>> >> hopefully getting it ready to be moved out of drivers/staging.
>> >> This series is updated to v3.14-rc2.
>> >>
>> >> Since the last round of patches were posted, the component support
>> >> has been merged into mainline, and thus dropped from this series.
>> >> Greg has taken the first three patches and merged them into his
>> >> linux-next tree - however, I include them here for completness.
>> >>
>> >> Most of the comments from last time still apply, and I'll look at
>> >> incorporating some of the other patches that were posted in the
>> >> coming week.
>> >>
>> >> If I can have some acks for this, I'll start sending some of it to
>> >> Greg - I'd like to at least get the five or six initial imx-hdmi
>> >> patches to Greg and queued up for the next merge window sooner
>> >> rather than later, preferably getting most of this ready for that
>> >> window too.
>> >
>> > Series looks good:
>> >
>> > Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
>> >
>> > Patch 04/35 will not be needed in the final submission, as there is
>> > already a fix for the build issue in Greg's tree.
>> >
>>
>> I am the only one who does not get the whole series?
>>
>> Even here ony a handfull of patches are listed:
>> http://www.spinics.net/lists/arm-kernel/threads.html#306292
>
> You will find it all on the devel at driverdev.osuosl.org archive.
>

thanks - thumbs up for this series.
--
Christian Gmeiner, MSc

https://soundcloud.com/christian-gmeiner

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12 13:11         ` Christian Gmeiner
  0 siblings, 0 replies; 35+ messages in thread
From: Christian Gmeiner @ 2014-02-12 13:11 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, Greg Kroah-Hartman, DRI mailing list, Sascha Hauer,
	linux-arm-kernel

2014-02-12 13:45 GMT+01:00 Russell King - ARM Linux <linux@arm.linux.org.uk>:
> On Wed, Feb 12, 2014 at 01:04:30PM +0100, Christian Gmeiner wrote:
>> 2014-02-12 12:53 GMT+01:00 Fabio Estevam <festevam@gmail.com>:
>> > On Mon, Feb 10, 2014 at 10:28 AM, Russell King - ARM Linux
>> > <linux@arm.linux.org.uk> wrote:
>> >> This is the latest revision of my series cleaning up imx-drm and
>> >> hopefully getting it ready to be moved out of drivers/staging.
>> >> This series is updated to v3.14-rc2.
>> >>
>> >> Since the last round of patches were posted, the component support
>> >> has been merged into mainline, and thus dropped from this series.
>> >> Greg has taken the first three patches and merged them into his
>> >> linux-next tree - however, I include them here for completness.
>> >>
>> >> Most of the comments from last time still apply, and I'll look at
>> >> incorporating some of the other patches that were posted in the
>> >> coming week.
>> >>
>> >> If I can have some acks for this, I'll start sending some of it to
>> >> Greg - I'd like to at least get the five or six initial imx-hdmi
>> >> patches to Greg and queued up for the next merge window sooner
>> >> rather than later, preferably getting most of this ready for that
>> >> window too.
>> >
>> > Series looks good:
>> >
>> > Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
>> >
>> > Patch 04/35 will not be needed in the final submission, as there is
>> > already a fix for the build issue in Greg's tree.
>> >
>>
>> I am the only one who does not get the whole series?
>>
>> Even here ony a handfull of patches are listed:
>> http://www.spinics.net/lists/arm-kernel/threads.html#306292
>
> You will find it all on the devel@driverdev.osuosl.org archive.
>

thanks - thumbs up for this series.
--
Christian Gmeiner, MSc

https://soundcloud.com/christian-gmeiner

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-12  9:56   ` Russell King - ARM Linux
@ 2014-02-12 17:24     ` Philipp Zabel
  -1 siblings, 0 replies; 35+ messages in thread
From: Philipp Zabel @ 2014-02-12 17:24 UTC (permalink / raw)
  To: linux-arm-kernel

Am Mittwoch, den 12.02.2014, 09:56 +0000 schrieb Russell King - ARM
Linux:
> On Mon, Feb 10, 2014 at 12:28:03PM +0000, Russell King - ARM Linux wrote:
> > This is the latest revision of my series cleaning up imx-drm and
> > hopefully getting it ready to be moved out of drivers/staging.
> > This series is updated to v3.14-rc2.
> > 
> > Since the last round of patches were posted, the component support
> > has been merged into mainline, and thus dropped from this series.
> > Greg has taken the first three patches and merged them into his
> > linux-next tree - however, I include them here for completness.
> > 
> > Most of the comments from last time still apply, and I'll look at
> > incorporating some of the other patches that were posted in the
> > coming week.
> > 
> > If I can have some acks for this, I'll start sending some of it to
> > Greg - I'd like to at least get the five or six initial imx-hdmi
> > patches to Greg and queued up for the next merge window sooner
> > rather than later, preferably getting most of this ready for that
> > window too.
> 
> So far, only the first few patches have been acked by one person.  What
> about the remainder?  There's been no comments on them either...

With the understanding that I loathe the current DT bindings, which are
not the fault of this series:

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-12 17:24     ` Philipp Zabel
  0 siblings, 0 replies; 35+ messages in thread
From: Philipp Zabel @ 2014-02-12 17:24 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, David Airlie, Greg Kroah-Hartman, dri-devel, Sascha Hauer,
	Shawn Guo, linux-arm-kernel

Am Mittwoch, den 12.02.2014, 09:56 +0000 schrieb Russell King - ARM
Linux:
> On Mon, Feb 10, 2014 at 12:28:03PM +0000, Russell King - ARM Linux wrote:
> > This is the latest revision of my series cleaning up imx-drm and
> > hopefully getting it ready to be moved out of drivers/staging.
> > This series is updated to v3.14-rc2.
> > 
> > Since the last round of patches were posted, the component support
> > has been merged into mainline, and thus dropped from this series.
> > Greg has taken the first three patches and merged them into his
> > linux-next tree - however, I include them here for completness.
> > 
> > Most of the comments from last time still apply, and I'll look at
> > incorporating some of the other patches that were posted in the
> > coming week.
> > 
> > If I can have some acks for this, I'll start sending some of it to
> > Greg - I'd like to at least get the five or six initial imx-hdmi
> > patches to Greg and queued up for the next merge window sooner
> > rather than later, preferably getting most of this ready for that
> > window too.
> 
> So far, only the first few patches have been acked by one person.  What
> about the remainder?  There's been no comments on them either...

With the understanding that I loathe the current DT bindings, which are
not the fault of this series:

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-10 17:56         ` Russell King - ARM Linux
@ 2014-02-18 11:45           ` Philipp Zabel
  -1 siblings, 0 replies; 35+ messages in thread
From: Philipp Zabel @ 2014-02-18 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Russell,

Am Montag, den 10.02.2014, 17:56 +0000 schrieb Russell King - ARM Linux:
> On Mon, Feb 10, 2014 at 06:37:26PM +0100, Philipp Zabel wrote:
> > I'd like all of them to go through, too. If you don't want to have the DT
> > changes integrated, I'd appreciate if you could have a  look at my
> > patches on top of your series and possibly append them to your
> > series or let me synchronize somehow:
> > 
> > http://archive.arm.linux.org.uk/lurker/message/20140106.145159.a1d82ba9.en.html
> 
> I replied to your 2nd patch there...
> 
> I'm not happy ending up with a hard dependency between v4l2 code and
> code needed for the display side to work, especially when we can end
> up with imx-drm being the primary console display.  I've outlined my
> thoughts about what I think needs to happen in the reply to patch 2.

Thanks for your comments there. I have just updated and resent this
series ([RFC PATCH v3 0/9] imx-drm dt bindings), still with a temporary
local copy of the v4l2_of functions, as long as the final resting place
of the v4l2_of/of_graph functions seems to be a matter of discussion.

regards
Philipp

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-18 11:45           ` Philipp Zabel
  0 siblings, 0 replies; 35+ messages in thread
From: Philipp Zabel @ 2014-02-18 11:45 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: devel, Philipp Zabel, David Airlie, Greg Kroah-Hartman,
	dri-devel, Sascha Hauer, Shawn Guo, linux-arm-kernel

Hi Russell,

Am Montag, den 10.02.2014, 17:56 +0000 schrieb Russell King - ARM Linux:
> On Mon, Feb 10, 2014 at 06:37:26PM +0100, Philipp Zabel wrote:
> > I'd like all of them to go through, too. If you don't want to have the DT
> > changes integrated, I'd appreciate if you could have a  look at my
> > patches on top of your series and possibly append them to your
> > series or let me synchronize somehow:
> > 
> > http://archive.arm.linux.org.uk/lurker/message/20140106.145159.a1d82ba9.en.html
> 
> I replied to your 2nd patch there...
> 
> I'm not happy ending up with a hard dependency between v4l2 code and
> code needed for the display side to work, especially when we can end
> up with imx-drm being the primary console display.  I've outlined my
> thoughts about what I think needs to happen in the reply to patch 2.

Thanks for your comments there. I have just updated and resent this
series ([RFC PATCH v3 0/9] imx-drm dt bindings), still with a temporary
local copy of the v4l2_of functions, as long as the final resting place
of the v4l2_of/of_graph functions seems to be a matter of discussion.

regards
Philipp

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
  2014-02-18 11:45           ` Philipp Zabel
@ 2014-02-18 12:36             ` Russell King - ARM Linux
  -1 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-18 12:36 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Feb 18, 2014 at 12:45:09PM +0100, Philipp Zabel wrote:
> Thanks for your comments there. I have just updated and resent this
> series ([RFC PATCH v3 0/9] imx-drm dt bindings), still with a temporary
> local copy of the v4l2_of functions, as long as the final resting place
> of the v4l2_of/of_graph functions seems to be a matter of discussion.

Okay.  My plans are to send more of these patches imminently to Greg.
I've just pulled them forward to -rc3, which means that four have now
dropped out of the series (as three have been recently merged and one
due to that build fix for imx-hdmi.)

I'm just debating whether I need to send the whole series out again or
not before doing that... any opinion?

Nothing's really changed in the patch set since the last time.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
@ 2014-02-18 12:36             ` Russell King - ARM Linux
  0 siblings, 0 replies; 35+ messages in thread
From: Russell King - ARM Linux @ 2014-02-18 12:36 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: devel, Philipp Zabel, David Airlie, Greg Kroah-Hartman,
	dri-devel, Sascha Hauer, Shawn Guo, linux-arm-kernel

On Tue, Feb 18, 2014 at 12:45:09PM +0100, Philipp Zabel wrote:
> Thanks for your comments there. I have just updated and resent this
> series ([RFC PATCH v3 0/9] imx-drm dt bindings), still with a temporary
> local copy of the v4l2_of functions, as long as the final resting place
> of the v4l2_of/of_graph functions seems to be a matter of discussion.

Okay.  My plans are to send more of these patches imminently to Greg.
I've just pulled them forward to -rc3, which means that four have now
dropped out of the series (as three have been recently merged and one
due to that build fix for imx-hdmi.)

I'm just debating whether I need to send the whole series out again or
not before doing that... any opinion?

Nothing's really changed in the patch set since the last time.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2014-02-18 12:36 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-10 12:28 [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series Russell King - ARM Linux
2014-02-10 12:28 ` Russell King - ARM Linux
     [not found] ` <20140210122802.GS26684-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-02-10 12:29   ` [PATCH RFC v2 13/35] imx-drm: add imx6 DT configuration for HDMI Russell King
2014-02-10 12:29     ` Russell King
2014-02-10 12:29   ` [PATCH RFC v2 14/35] imx-drm: update and fix imx6 DT descriptions for v3 HDMI driver Russell King
2014-02-10 12:29     ` Russell King
2014-02-10 12:30   ` [PATCH RFC v2 19/35] imx-drm: convert to componentised device support Russell King
2014-02-10 12:30     ` Russell King
2014-02-10 15:12 ` [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series Philipp Zabel
2014-02-10 15:12   ` Philipp Zabel
2014-02-10 15:18   ` Russell King - ARM Linux
2014-02-10 15:18     ` Russell King - ARM Linux
2014-02-10 16:00     ` Jean-Francois Moine
2014-02-10 16:00       ` Jean-Francois Moine
2014-02-10 17:37     ` Philipp Zabel
2014-02-10 17:56       ` Russell King - ARM Linux
2014-02-10 17:56         ` Russell King - ARM Linux
2014-02-18 11:45         ` Philipp Zabel
2014-02-18 11:45           ` Philipp Zabel
2014-02-18 12:36           ` Russell King - ARM Linux
2014-02-18 12:36             ` Russell King - ARM Linux
2014-02-12  9:56 ` Russell King - ARM Linux
2014-02-12  9:56   ` Russell King - ARM Linux
2014-02-12 17:24   ` Philipp Zabel
2014-02-12 17:24     ` Philipp Zabel
2014-02-12 11:53 ` Fabio Estevam
2014-02-12 11:53   ` Fabio Estevam
2014-02-12 12:04   ` Christian Gmeiner
2014-02-12 12:04     ` Christian Gmeiner
2014-02-12 12:45     ` Russell King - ARM Linux
2014-02-12 12:45       ` Russell King - ARM Linux
2014-02-12 13:11       ` Christian Gmeiner
2014-02-12 13:11         ` Christian Gmeiner
2014-02-12 12:56 ` Shawn Guo
2014-02-12 12:56   ` Shawn Guo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.