compile fix for >=linux-4.2, reported, fixed by Daniel Peters on wrt bug #559476
authorJoerg Bornkessel <hd_brummy@gentoo.org>
Sat, 10 Oct 2015 19:21:07 +0000 (21:21 +0200)
committerJoerg Bornkessel <hd_brummy@gentoo.org>
Sat, 10 Oct 2015 19:21:07 +0000 (21:21 +0200)
Package-Manager: portage-2.2.20.1

media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.2-fix-compile.patch [new file with mode: 0644]
media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20141109-r2.ebuild [new file with mode: 0644]

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.2-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.2-fix-compile.patch
new file mode 100644 (file)
index 0000000..392ef25
--- /dev/null
@@ -0,0 +1,34 @@
+diff -urN powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_budget.c v4l-dvb-saa716x-0.0.1_p20141109-r1/work/powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_budget.c
+--- powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_budget.c  2015-09-03 00:30:08.662553247 +0200
++++ v4l-dvb-saa716x-0.0.1_p20141109-r1/work/powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_budget.c  2015-09-03 00:31:03.899206845 +0200
+@@ -306,7 +306,7 @@
+ #define SAA716x_MODEL_TWINHAN_VP1028  "Twinhan/Azurewave VP-1028"
+ #define SAA716x_DEV_TWINHAN_VP1028    "DVB-S"
+ 
+-static int vp1028_dvbs_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
++static int vp1028_dvbs_set_voltage(struct dvb_frontend *fe, enum fe_sec_voltage voltage)
+ {
+       struct saa716x_dev *saa716x = fe->dvb->priv;
+ 
+diff -urN powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_hybrid.c v4l-dvb-saa716x-0.0.1_p20141109-r1/work/powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_hybrid.c
+--- powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_hybrid.c  2014-11-09 15:44:55.000000000 +0100
++++ v4l-dvb-saa716x-0.0.1_p20141109-r1/work/powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_hybrid.c  2015-09-03 00:31:03.899206845 +0200
+@@ -321,7 +321,7 @@
+       .request_firmware       = tda1004x_vp6090_request_firmware,
+ };
+ 
+-static int vp6090_dvbs_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
++static int vp6090_dvbs_set_voltage(struct dvb_frontend *fe, enum fe_sec_voltage voltage)
+ {
+       struct saa716x_dev *saa716x = fe->dvb->priv;
+ 
+diff -urN powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_pci.c v4l-dvb-saa716x-0.0.1_p20141109-r1/work/powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_pci.c
+--- powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_pci.c     2014-11-09 15:44:55.000000000 +0100
++++ v4l-dvb-saa716x-0.0.1_p20141109-r1/work/powARman-v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_pci.c     2015-09-03 00:31:03.900206839 +0200
+@@ -1,3 +1,5 @@
++#include <asm/atomic.h>
++#include <linux/spinlock_types.h>
+ #include <asm/io.h>
+ #include <asm/pgtable.h>
+ #include <asm/page.h>
+
diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20141109-r2.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20141109-r2.ebuild
new file mode 100644 (file)
index 0000000..7904dec
--- /dev/null
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit linux-info linux-mod
+
+DESCRIPTION="driver for saa716x based dvb cards like Technotrend S2-6400 or Technisat Skystar 2 eXpress HD"
+HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x/overview"
+
+HG_REVISION="d7e98fc59230"
+HG_REVISION_DATE="20141109"
+
+SRC_URI="https://bitbucket.org/powARman/v4l-dvb-saa716x/get/${HG_REVISION}.tar.gz
+-> v4l-dvb-saa716x-0.0.1_p${HG_REVISION_DATE}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+firmware"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+       firmware? ( sys-firmware/tt-s2-6400-firmware )"
+
+S="${WORKDIR}/powARman-v4l-dvb-saa716x-${HG_REVISION}"
+
+BUILD_TARGETS="modules"
+MODULE_NAMES="saa716x_ff(misc:${ROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+       saa716x_core(misc:${ROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+       saa716x_budget(misc:${ROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+       saa716x_hybrid(misc:${ROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
+
+CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
+
+src_prepare() {
+       epatch "${FILESDIR}/OSD_RAW_CMD_patch_2.diff"
+       epatch "${FILESDIR}/v4l-dvb-saa716x-Makefilepatch-2.diff"
+       kernel_is ge 3 19 0 && epatch "${FILESDIR}/v4l-dvb-saa716x-3.19-set_gpio.patch"
+       kernel_is ge 4 2 0 && epatch "${FILESDIR}/v4l-dvb-saa716x-4.2-fix-compile.patch"
+}
+
+src_compile() {
+       BUILD_PARAMS="SUBDIRS=${S}/linux/drivers/media/common/saa716x \
+       CONFIG_SAA716X_CORE=m CONFIG_DVB_SAA716X_FF=m CONFIG_DVB_SAA716X_BUDGET=m \
+       CONFIG_DVB_SAA716X_HYBRID=m"
+       addpredict "${ROOT}"/usr/src/linux/
+       linux-mod_src_compile
+}