diff mbox

[2/3] drm: imx: Move imx-drm driver out of staging

Message ID 1415098370-12263-2-git-send-email-p.zabel@pengutronix.de (mailing list archive)
State New, archived
Headers show

Commit Message

Philipp Zabel Nov. 4, 2014, 10:52 a.m. UTC
The imx-drm driver was put into staging mostly for the following reasons,
all of which have been addressed or superseded:
 - convert the irq driver to use linear irq domains
 - work out the device tree bindings, this lead to the common of_graph
   bindings being used
 - factor out common helper functions, this mostly resulted in the
   component framework and drm of_graph helpers.

Before adding new fixes, and certainly before adding new features,
move it into its proper place below drivers/gpu/drm.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
Since this patch is generated with --find-renames, it should be applied
on top of the staging-next branch of the staging tree, or at least after
commit f582d9a8b955 (drivers: staging: imx-drm driver cleanup).
---
 .../{staging/imx-drm => drm/imx}/fsl-imx-drm.txt        |  0
 .../bindings/{staging/imx-drm => drm/imx}/hdmi.txt      |  0
 .../bindings/{staging/imx-drm => drm/imx}/ldb.txt       |  0
 drivers/gpu/drm/Kconfig                                 |  2 ++
 drivers/gpu/drm/Makefile                                |  1 +
 drivers/{staging/imx-drm => gpu/drm/imx}/Kconfig        |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/Makefile       |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/imx-drm-core.c |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/imx-drm.h      |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/imx-hdmi.c     |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/imx-hdmi.h     |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/imx-ldb.c      |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/imx-tve.c      |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/ipuv3-crtc.c   |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/ipuv3-plane.c  |  0
 drivers/{staging/imx-drm => gpu/drm/imx}/ipuv3-plane.h  |  0
 .../{staging/imx-drm => gpu/drm/imx}/parallel-display.c |  0
 drivers/staging/Kconfig                                 |  2 --
 drivers/staging/Makefile                                |  1 -
 drivers/staging/imx-drm/TODO                            | 17 -----------------
 20 files changed, 3 insertions(+), 20 deletions(-)
 rename Documentation/devicetree/bindings/{staging/imx-drm => drm/imx}/fsl-imx-drm.txt (100%)
 rename Documentation/devicetree/bindings/{staging/imx-drm => drm/imx}/hdmi.txt (100%)
 rename Documentation/devicetree/bindings/{staging/imx-drm => drm/imx}/ldb.txt (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/Kconfig (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/Makefile (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/imx-drm-core.c (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/imx-drm.h (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/imx-hdmi.c (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/imx-hdmi.h (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/imx-ldb.c (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/imx-tve.c (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/ipuv3-crtc.c (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/ipuv3-plane.c (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/ipuv3-plane.h (100%)
 rename drivers/{staging/imx-drm => gpu/drm/imx}/parallel-display.c (100%)
 delete mode 100644 drivers/staging/imx-drm/TODO

Comments

Philipp Zabel Nov. 4, 2014, 11:08 a.m. UTC | #1
Am Dienstag, den 04.11.2014, 11:52 +0100 schrieb Philipp Zabel:
> The imx-drm driver was put into staging mostly for the following reasons,
> all of which have been addressed or superseded:
>  - convert the irq driver to use linear irq domains
>  - work out the device tree bindings, this lead to the common of_graph
>    bindings being used
>  - factor out common helper functions, this mostly resulted in the
>    component framework and drm of_graph helpers.
> 
> Before adding new fixes, and certainly before adding new features,
> move it into its proper place below drivers/gpu/drm.
> 
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> ---
> Since this patch is generated with --find-renames, it should be applied
> on top of the staging-next branch of the staging tree, or at least after
> commit f582d9a8b955 (drivers: staging: imx-drm driver cleanup).

The full commit as also available at:

    git://git.pengutronix.de/git/pza/linux.git topic/imx-drm-destaging

regards
Philipp
Emil Velikov Nov. 4, 2014, 4:19 p.m. UTC | #2
Hi Philipp,

Just a flyby question

On 04/11/14 10:52, Philipp Zabel wrote:
> The imx-drm driver was put into staging mostly for the following reasons,
> all of which have been addressed or superseded:
>  - convert the irq driver to use linear irq domains
>  - work out the device tree bindings, this lead to the common of_graph
>    bindings being used
Afaics Steve's patches introduce some non-backward compatible changes to
the DT bindings (s/port/crtc/). Shouldn't those be discussed/resolved
prior to pushing the driver out of staging ?

Cheers,
Emil
Philipp Zabel Nov. 4, 2014, 5:23 p.m. UTC | #3
Am Dienstag, den 04.11.2014, 16:19 +0000 schrieb Emil Velikov:
> Hi Philipp,
> 
> Just a flyby question
> 
> On 04/11/14 10:52, Philipp Zabel wrote:
> > The imx-drm driver was put into staging mostly for the following reasons,
> > all of which have been addressed or superseded:
> >  - convert the irq driver to use linear irq domains
> >  - work out the device tree bindings, this lead to the common of_graph
> >    bindings being used
> Afaics Steve's patches introduce some non-backward compatible changes to
> the DT bindings (s/port/crtc/). Shouldn't those be discussed/resolved
> prior to pushing the driver out of staging ?

Those binding changes are backwards. We moved away from mentioning crtcs
in the device tree earlier, as those are most definitely not a property
of the hardware.
The two output ports of the IPU in the device tree correspond to the
physical output signals of the two DIs, not to the crtcs, which are a
linux specific abstraction, more closely related to parts of the DP and
DC units.

What is exactly represented by each crtc could be changed in the code
without affecting the device tree bindings. In hardware, it is possible
to link both of the DC/DP output channels to either DI dynamically.
The driver could be changed to stop associating each crtc with a fixed
DI, and select the appropriate DI automatically for a given crtc <->
encoder pair.

In my opinion the time for non-backward compatible changes has passed
anyway. That being said, if a case is to be made for device tree
changes, it should be discussed before the move.

regards
Philipp
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt b/Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt
similarity index 100%
rename from Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt
rename to Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt b/Documentation/devicetree/bindings/drm/imx/hdmi.txt
similarity index 100%
rename from Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt
rename to Documentation/devicetree/bindings/drm/imx/hdmi.txt
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/drm/imx/ldb.txt
similarity index 100%
rename from Documentation/devicetree/bindings/staging/imx-drm/ldb.txt
rename to Documentation/devicetree/bindings/drm/imx/ldb.txt
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index e3b4b0f..8e2d0c9 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -200,3 +200,5 @@  source "drivers/gpu/drm/tegra/Kconfig"
 source "drivers/gpu/drm/panel/Kconfig"
 
 source "drivers/gpu/drm/sti/Kconfig"
+
+source "drivers/gpu/drm/imx/Kconfig"
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 9292a76..3829bb1 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -62,6 +62,7 @@  obj-$(CONFIG_DRM_BOCHS) += bochs/
 obj-$(CONFIG_DRM_MSM) += msm/
 obj-$(CONFIG_DRM_TEGRA) += tegra/
 obj-$(CONFIG_DRM_STI) += sti/
+obj-$(CONFIG_DRM_IMX) += imx/
 obj-y			+= i2c/
 obj-y			+= panel/
 obj-y			+= bridge/
diff --git a/drivers/staging/imx-drm/Kconfig b/drivers/gpu/drm/imx/Kconfig
similarity index 100%
rename from drivers/staging/imx-drm/Kconfig
rename to drivers/gpu/drm/imx/Kconfig
diff --git a/drivers/staging/imx-drm/Makefile b/drivers/gpu/drm/imx/Makefile
similarity index 100%
rename from drivers/staging/imx-drm/Makefile
rename to drivers/gpu/drm/imx/Makefile
diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
similarity index 100%
rename from drivers/staging/imx-drm/imx-drm-core.c
rename to drivers/gpu/drm/imx/imx-drm-core.c
diff --git a/drivers/staging/imx-drm/imx-drm.h b/drivers/gpu/drm/imx/imx-drm.h
similarity index 100%
rename from drivers/staging/imx-drm/imx-drm.h
rename to drivers/gpu/drm/imx/imx-drm.h
diff --git a/drivers/staging/imx-drm/imx-hdmi.c b/drivers/gpu/drm/imx/imx-hdmi.c
similarity index 100%
rename from drivers/staging/imx-drm/imx-hdmi.c
rename to drivers/gpu/drm/imx/imx-hdmi.c
diff --git a/drivers/staging/imx-drm/imx-hdmi.h b/drivers/gpu/drm/imx/imx-hdmi.h
similarity index 100%
rename from drivers/staging/imx-drm/imx-hdmi.h
rename to drivers/gpu/drm/imx/imx-hdmi.h
diff --git a/drivers/staging/imx-drm/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
similarity index 100%
rename from drivers/staging/imx-drm/imx-ldb.c
rename to drivers/gpu/drm/imx/imx-ldb.c
diff --git a/drivers/staging/imx-drm/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
similarity index 100%
rename from drivers/staging/imx-drm/imx-tve.c
rename to drivers/gpu/drm/imx/imx-tve.c
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
similarity index 100%
rename from drivers/staging/imx-drm/ipuv3-crtc.c
rename to drivers/gpu/drm/imx/ipuv3-crtc.c
diff --git a/drivers/staging/imx-drm/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c
similarity index 100%
rename from drivers/staging/imx-drm/ipuv3-plane.c
rename to drivers/gpu/drm/imx/ipuv3-plane.c
diff --git a/drivers/staging/imx-drm/ipuv3-plane.h b/drivers/gpu/drm/imx/ipuv3-plane.h
similarity index 100%
rename from drivers/staging/imx-drm/ipuv3-plane.h
rename to drivers/gpu/drm/imx/ipuv3-plane.h
diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c
similarity index 100%
rename from drivers/staging/imx-drm/parallel-display.c
rename to drivers/gpu/drm/imx/parallel-display.c
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 3b01fef..815de37 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -84,8 +84,6 @@  source "drivers/staging/gdm72xx/Kconfig"
 
 source "drivers/staging/gdm724x/Kconfig"
 
-source "drivers/staging/imx-drm/Kconfig"
-
 source "drivers/staging/fwserial/Kconfig"
 
 source "drivers/staging/goldfish/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 26ecead..33c640b 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -35,7 +35,6 @@  obj-$(CONFIG_STAGING_BOARD)	+= board/
 obj-$(CONFIG_USB_WPAN_HCD)	+= ozwpan/
 obj-$(CONFIG_WIMAX_GDM72XX)	+= gdm72xx/
 obj-$(CONFIG_LTE_GDM724X)	+= gdm724x/
-obj-$(CONFIG_DRM_IMX)		+= imx-drm/
 obj-$(CONFIG_FIREWIRE_SERIAL)	+= fwserial/
 obj-$(CONFIG_GOLDFISH)		+= goldfish/
 obj-$(CONFIG_LUSTRE_FS)		+= lustre/
diff --git a/drivers/staging/imx-drm/TODO b/drivers/staging/imx-drm/TODO
deleted file mode 100644
index 29636fb..0000000
--- a/drivers/staging/imx-drm/TODO
+++ /dev/null
@@ -1,17 +0,0 @@ 
-TODO:
-- get DRM Maintainer review for this code
-- decide where to put the base driver. It is not specific to a subsystem
-  and would be used by DRM/KMS and media/V4L2
-
-Missing features (not necessarily for moving out of staging):
-
-- Add support for IC (Image converter)
-- Add support for CSI (CMOS Sensor interface)
-- Add support for VDIC (Video Deinterlacer)
-
-Many work-in-progress patches for the above features exist. Contact
-Sascha Hauer <kernel@pengutronix.de> if you are interested in working
-on a specific feature.
-
-Please send any patches to Greg Kroah-Hartman <gregkh@linuxfoundation.org> and
-Sascha Hauer <kernel@pengutronix.de>