summaryrefslogtreecommitdiffstats
path: root/imx-hdmi-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'imx-hdmi-fix.patch')
-rw-r--r--imx-hdmi-fix.patch93
1 files changed, 93 insertions, 0 deletions
diff --git a/imx-hdmi-fix.patch b/imx-hdmi-fix.patch
new file mode 100644
index 000000000..c7db416b4
--- /dev/null
+++ b/imx-hdmi-fix.patch
@@ -0,0 +1,93 @@
+Instead of redefining the enums, use the standard ones already
+available to avoid the following build errors:
+
+drivers/staging/imx-drm/imx-hdmi.c:56:13: error: nested redefinition of ‘enum hdmi_colorimetry’
+drivers/staging/imx-drm/imx-hdmi.c:56:13: error: redeclaration of ‘enum hdmi_colorimetry’
+In file included from include/drm/drm_crtc.h:33:0,
+ from include/drm/drmP.h:710,
+ from drivers/staging/imx-drm/imx-hdmi.c:24:
+include/linux/hdmi.h:48:6: note: originally defined here
+
+Signed-off-by: Sachin Kamat <sachin.kamat at linaro.org>
+Cc: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
+Cc: Fabio Estevam <fabio.estevam at freescale.com>
+---
+Only compile tested.
+---
+ drivers/staging/imx-drm/imx-hdmi.c | 22 +++++++++-------------
+ 1 file changed, 9 insertions(+), 13 deletions(-)
+
+diff --git a/drivers/staging/imx-drm/imx-hdmi.c b/drivers/staging/imx-drm/imx-hdmi.c
+index f3a1f5e2e492..62ce0e86f14b 100644
+--- a/drivers/staging/imx-drm/imx-hdmi.c
++++ b/drivers/staging/imx-drm/imx-hdmi.c
+@@ -16,6 +16,7 @@
+ #include <linux/delay.h>
+ #include <linux/err.h>
+ #include <linux/clk.h>
++#include <linux/hdmi.h>
+ #include <linux/regmap.h>
+ #include <linux/mfd/syscon.h>
+ #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
+@@ -52,11 +53,6 @@ enum hdmi_datamap {
+ YCbCr422_12B = 0x12,
+ };
+
+-enum hdmi_colorimetry {
+- ITU601,
+- ITU709,
+-};
+-
+ enum imx_hdmi_devtype {
+ IMX6Q_HDMI,
+ IMX6DL_HDMI,
+@@ -489,12 +485,12 @@ static void imx_hdmi_update_csc_coeffs(struct imx_hdmi *hdmi)
+
+ if (is_color_space_conversion(hdmi)) {
+ if (hdmi->hdmi_data.enc_out_format == RGB) {
+- if (hdmi->hdmi_data.colorimetry == ITU601)
++ if (hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_601)
+ csc_coeff = &csc_coeff_rgb_out_eitu601;
+ else
+ csc_coeff = &csc_coeff_rgb_out_eitu709;
+ } else if (hdmi->hdmi_data.enc_in_format == RGB) {
+- if (hdmi->hdmi_data.colorimetry == ITU601)
++ if (hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_601)
+ csc_coeff = &csc_coeff_rgb_in_eitu601;
+ else
+ csc_coeff = &csc_coeff_rgb_in_eitu709;
+@@ -1140,16 +1136,16 @@ static void hdmi_config_AVI(struct imx_hdmi *hdmi)
+ /* Set up colorimetry */
+ if (hdmi->hdmi_data.enc_out_format == XVYCC444) {
+ colorimetry = HDMI_FC_AVICONF1_COLORIMETRY_EXTENDED_INFO;
+- if (hdmi->hdmi_data.colorimetry == ITU601)
++ if (hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_601)
+ ext_colorimetry =
+ HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC601;
+- else /* hdmi->hdmi_data.colorimetry == ITU709 */
++ else /*hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_709*/
+ ext_colorimetry =
+ HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC709;
+ } else if (hdmi->hdmi_data.enc_out_format != RGB) {
+- if (hdmi->hdmi_data.colorimetry == ITU601)
++ if (hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_601)
+ colorimetry = HDMI_FC_AVICONF1_COLORIMETRY_SMPTE;
+- else /* hdmi->hdmi_data.colorimetry == ITU709 */
++ else /*hdmi->hdmi_data.colorimetry == HDMI_COLORIMETRY_ITU_709*/
+ colorimetry = HDMI_FC_AVICONF1_COLORIMETRY_ITUR;
+ ext_colorimetry = HDMI_FC_AVICONF2_EXT_COLORIMETRY_XVYCC601;
+ } else { /* Carries no data */
+@@ -1379,9 +1375,9 @@ static int imx_hdmi_setup(struct imx_hdmi *hdmi, struct drm_display_mode *mode)
+ (hdmi->vic == 21) || (hdmi->vic == 22) ||
+ (hdmi->vic == 2) || (hdmi->vic == 3) ||
+ (hdmi->vic == 17) || (hdmi->vic == 18))
+- hdmi->hdmi_data.colorimetry = ITU601;
++ hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_601;
+ else
+- hdmi->hdmi_data.colorimetry = ITU709;
++ hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_709;
+
+ if ((hdmi->vic == 10) || (hdmi->vic == 11) ||
+ (hdmi->vic == 12) || (hdmi->vic == 13) ||
+--
+1.7.9.5