From 4435d7b4d844bdcec6812c3348128c5b09d38496 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 14 Apr 2014 15:33:43 +0200 Subject: [PATCH] projects/Cuboxi/patches/libcec: update imx6 patch Signed-off-by: Stephan Raue --- .../libcec-01-Early_support_for_i.MX6.patch | 52 +++++++++---------- .../libcec/libcec-10-fix-compile-error.patch | 11 ---- 2 files changed, 26 insertions(+), 37 deletions(-) delete mode 100644 projects/Cuboxi/patches/libcec/libcec-10-fix-compile-error.patch diff --git a/projects/Cuboxi/patches/libcec/libcec-01-Early_support_for_i.MX6.patch b/projects/Cuboxi/patches/libcec/libcec-01-Early_support_for_i.MX6.patch index 47637c761c..a608e9607e 100644 --- a/projects/Cuboxi/patches/libcec/libcec-01-Early_support_for_i.MX6.patch +++ b/projects/Cuboxi/patches/libcec/libcec-01-Early_support_for_i.MX6.patch @@ -1,20 +1,21 @@ -From 90b994705ee2492afa00f914e0a070a0f0929f21 Mon Sep 17 00:00:00 2001 +From 4cf83161dbedfa2d3487841a1bfec4e38fa6939b Mon Sep 17 00:00:00 2001 From: wolfgar -Date: Sat, 28 Sep 2013 13:31:13 +0200 -Subject: [PATCH] Early support for i.MX6 +Date: Thu, 13 Mar 2014 16:03:58 +0100 +Subject: [PATCH] Add iMX6 support Requires specific kernel driver. Check + http://stephan-rafin.net/blog/2013/09/30/i-mx6-cec/ --- configure.ac | 19 ++ include/cectypes.h | 14 +- src/lib/CECTypeUtils.h | 2 + src/lib/Makefile.am | 5 + - src/lib/adapter/AdapterFactory.cpp | 28 +- + src/lib/adapter/AdapterFactory.cpp | 29 ++- src/lib/adapter/IMX/AdapterMessageQueue.h | 134 ++++++++++ - src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp | 281 +++++++++++++++++++++ + src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp | 279 +++++++++++++++++++++ src/lib/adapter/IMX/IMXCECAdapterCommunication.h | 114 +++++++++ - src/lib/adapter/IMX/IMXCECAdapterDetection.cpp | 42 +++ + src/lib/adapter/IMX/IMXCECAdapterDetection.cpp | 42 ++++ src/lib/adapter/IMX/IMXCECAdapterDetection.h | 36 +++ - 10 files changed, 672 insertions(+), 3 deletions(-) + 10 files changed, 671 insertions(+), 3 deletions(-) create mode 100644 src/lib/adapter/IMX/AdapterMessageQueue.h create mode 100644 src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp create mode 100644 src/lib/adapter/IMX/IMXCECAdapterCommunication.h @@ -22,7 +23,7 @@ Subject: [PATCH] Early support for i.MX6 create mode 100644 src/lib/adapter/IMX/IMXCECAdapterDetection.h diff --git a/configure.ac b/configure.ac -index 9b2ac34..7875155 100644 +index 510d851..923d7e5 100644 --- a/configure.ac +++ b/configure.ac @@ -93,6 +93,14 @@ if test "x$use_rpi" != "xno"; then @@ -40,7 +41,7 @@ index 9b2ac34..7875155 100644 ## add the top dir and include to the include path, so we can include config.h and cec.h CPPFLAGS="$CPPFLAGS -I\$(abs_top_srcdir)/src -I\$(abs_top_srcdir)/include" -@@ -268,6 +276,17 @@ else +@@ -270,6 +278,17 @@ else features="$features\n TDA995x support :\t\t\tno" fi @@ -59,10 +60,10 @@ index 9b2ac34..7875155 100644 AC_CHECK_HEADER(algorithm,,AC_MSG_ERROR($msg_required_header_missing)) AC_CHECK_HEADER(ctype.h,,AC_MSG_ERROR($msg_required_header_missing)) diff --git a/include/cectypes.h b/include/cectypes.h -index a95243c..5c55283 100644 +index 9f86253..7fabf00 100644 --- a/include/cectypes.h +++ b/include/cectypes.h -@@ -295,6 +295,17 @@ +@@ -295,6 +295,17 @@ namespace CEC { #define CEC_TDA995x_VIRTUAL_COM "CuBox" /*! @@ -80,7 +81,7 @@ index a95243c..5c55283 100644 * Mimimum client version */ #define CEC_MIN_LIB_VERSION 2 -@@ -857,7 +868,8 @@ +@@ -858,7 +869,8 @@ typedef enum cec_adapter_type ADAPTERTYPE_P8_EXTERNAL = 0x1, ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2, ADAPTERTYPE_RPI = 0x100, @@ -91,10 +92,10 @@ index a95243c..5c55283 100644 typedef struct cec_menu_language diff --git a/src/lib/CECTypeUtils.h b/src/lib/CECTypeUtils.h -index 20e318b..dbb72b2 100644 +index dc4e5f1..1cf7ef1 100644 --- a/src/lib/CECTypeUtils.h +++ b/src/lib/CECTypeUtils.h -@@ -852,6 +852,8 @@ +@@ -858,6 +858,8 @@ namespace CEC return "Raspberry Pi"; case ADAPTERTYPE_TDA995x: return "TDA995x"; @@ -104,10 +105,10 @@ index 20e318b..dbb72b2 100644 return "unknown"; } diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am -index 35166f2..fbae7ad 100644 +index 9117d8e..6788303 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am -@@ -57,5 +57,10 @@ libcec_la_SOURCES += adapter/TDA995x/TDA995xCECAdapterDetection.cpp \ +@@ -59,5 +59,10 @@ libcec_la_SOURCES += adapter/TDA995x/TDA995xCECAdapterDetection.cpp \ adapter/TDA995x/TDA995xCECAdapterCommunication.cpp endif @@ -119,7 +120,7 @@ index 35166f2..fbae7ad 100644 libcec_la_LDFLAGS = @LIBS_LIBCEC@ -version-info @VERSION@ diff --git a/src/lib/adapter/AdapterFactory.cpp b/src/lib/adapter/AdapterFactory.cpp -index 42cdd0b..3c83805 100644 +index 42cdd0b..576589f 100644 --- a/src/lib/adapter/AdapterFactory.cpp +++ b/src/lib/adapter/AdapterFactory.cpp @@ -52,6 +52,11 @@ @@ -158,12 +159,13 @@ index 42cdd0b..3c83805 100644 #error "libCEC doesn't have support for any type of adapter. please check your build system or configuration" #endif -@@ -128,11 +148,15 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_ +@@ -128,11 +148,16 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_ return new CRPiCECAdapterCommunication(m_lib->m_cec); #endif +#if defined(HAVE_IMX_API) -+ return new CIMXCECAdapterCommunication(m_lib->m_cec); ++ if (!strcmp(strPort, CEC_IMX_VIRTUAL_COM)) ++ return new CIMXCECAdapterCommunication(m_lib->m_cec); +#endif + #if defined(HAVE_P8_USB) @@ -317,10 +319,10 @@ index 0000000..c8bcf71 +}; diff --git a/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp new file mode 100644 -index 0000000..f4783df +index 0000000..54e5662 --- /dev/null +++ b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp -@@ -0,0 +1,281 @@ +@@ -0,0 +1,279 @@ +/* + * This file is part of the libCEC(R) library. + * @@ -505,8 +507,7 @@ index 0000000..f4783df + +cec_vendor_id CIMXCECAdapterCommunication::GetVendorId(void) +{ -+ /* FIXME TO be implemented : check how */ -+ return CEC_VENDOR_PANASONIC; ++ return CEC_VENDOR_UNKNOWN; +} + + @@ -545,8 +546,7 @@ index 0000000..f4783df + if (m_logicalAddress == log_addr) + return true; + -+ -+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, log_addr) != 0) ++ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)log_addr) != 0) + { + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__); + return false; @@ -813,5 +813,5 @@ index 0000000..d54891d + }; +} -- -1.8.5.1 +1.9.1 diff --git a/projects/Cuboxi/patches/libcec/libcec-10-fix-compile-error.patch b/projects/Cuboxi/patches/libcec/libcec-10-fix-compile-error.patch deleted file mode 100644 index d79ff55d3b..0000000000 --- a/projects/Cuboxi/patches/libcec/libcec-10-fix-compile-error.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 2013-10-02 18:39:38.933364683 +0200 -+++ b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 2013-10-02 18:39:38.945364681 +0200 -@@ -223,7 +223,7 @@ - return true; - - -- if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, log_addr) != 0) -+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)log_addr) != 0) - { - LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__); - return false;