public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2015-10-10 19:21 Joerg Bornkessel
  0 siblings, 0 replies; 10+ messages in thread
From: Joerg Bornkessel @ 2015-10-10 19:21 UTC (permalink / raw
  To: gentoo-commits

commit:     f8107f9cfc4ffab4a7d05e8097cad910714b54f8
Author:     Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 10 19:21:07 2015 +0000
Commit:     Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Sat Oct 10 19:21:07 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8107f9c

compile fix for >=linux-4.2, reported, fixed by Daniel Peters on wrt bug #559476

Package-Manager: portage-2.2.20.1

 .../files/v4l-dvb-saa716x-4.2-fix-compile.patch    | 34 +++++++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20141109-r2.ebuild      | 50 ++++++++++++++++++++++
 2 files changed, 84 insertions(+)

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
index 0000000..392ef25
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.2-fix-compile.patch
@@ -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
index 0000000..7904dec
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20141109-r2.ebuild
@@ -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
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2016-05-05 21:09 Joerg Bornkessel
  0 siblings, 0 replies; 10+ messages in thread
From: Joerg Bornkessel @ 2016-05-05 21:09 UTC (permalink / raw
  To: gentoo-commits

commit:     cb5d3fde5df3516c8775e376d4a96da5a7321184
Author:     Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Thu May  5 21:08:38 2016 +0000
Commit:     Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Thu May  5 21:08:38 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb5d3fde

compile fix >=linux-4.5.2; thx to H.Broeken M.Dummer on wrt bug 581450

Package-Manager: portage-2.2.28

 .../files/v4l-dvb-saa716x-4.5.2-fix-compile.patch           | 13 +++++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20141109-r2.ebuild               |  3 ++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.5.2-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.5.2-fix-compile.patch
new file mode 100644
index 0000000..ac499ac
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.5.2-fix-compile.patch
@@ -0,0 +1,13 @@
+fix compile with kernel >= 4.5.2
+wrt bug 581450
+Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> 2016/05/05
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c.old	2016-04-27 20:59:51.000000000 +0200
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2016-04-27 21:19:03.117822874 +0200
+@@ -1,6 +1,7 @@
+ #include <asm/atomic.h>
+ #include <linux/spinlock_types.h>
+ #include <asm/io.h>
++#include <asm/processor.h>
+ #include <asm/pgtable.h>
+ #include <asm/page.h>
+ #include <linux/kmod.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
index 7904dec..626fe2e 100644
--- 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
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
 inherit linux-info linux-mod
 
@@ -39,6 +39,7 @@ src_prepare() {
 	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"
+	kernel_is ge 4 5 2 && epatch "${FILESDIR}/v4l-dvb-saa716x-4.5.2-fix-compile.patch"
 }
 
 src_compile() {


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2017-07-12  5:47 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2017-07-12  5:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ad0fd3bd8b2b8de0d9980f825ad4258294d21ac5
Author:     Martin Dummer <martin.dummer <AT> ts <DOT> fujitsu <DOT> com>
AuthorDate: Sun Mar 12 13:26:36 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 12 05:45:53 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad0fd3bd

media-tv/v4l-dvb-saa716x: updated ebuild for kernel 4.6 and up, #612420

Also fix repoman issue: shorten the ebuild description

Package-Manager: Portage-2.3.4, Repoman-2.3.2

 media-tv/v4l-dvb-saa716x/Manifest                  |  1 +
 .../files/v4l-dvb-saa716x-4.6.0-fix-compile.patch  | 24 ++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225.ebuild         | 53 ++++++++++++++++++++++
 3 files changed, 78 insertions(+)

diff --git a/media-tv/v4l-dvb-saa716x/Manifest b/media-tv/v4l-dvb-saa716x/Manifest
index 7a6f599326a..8b99088e5d8 100644
--- a/media-tv/v4l-dvb-saa716x/Manifest
+++ b/media-tv/v4l-dvb-saa716x/Manifest
@@ -1,2 +1,3 @@
 DIST v4l-dvb-saa716x-0.0.1_p20140322.tar.gz 5026505 SHA256 79ff65c1354506ffb951e23bc1667c372cf22e9eca8309f9b7486fcfec22ef29 SHA512 2b452f6951064f01e88ccf1a2a6f0c9db8ac96779f7b8d56d33cf387d6ed196922edf6b6234d5887ce9dfdb7013772dc874be5ad5893b8e92b23ffe1f2b5d6ea WHIRLPOOL c6f63e835a670455aa871d179283d283d1e3da23f83c868040a48a402178d73d0c7f44ee807076e3cbd72a7b3e1f050d3e6103d2a49c778eddfe19efdba815a7
 DIST v4l-dvb-saa716x-0.0.1_p20141109.tar.gz 5028238 SHA256 2c6608f94df9da7681e2b22fdbdd842cdd1e97dd1dac6017c713c1fc037cd2bd SHA512 a67f095d4878b4ceb3b340e725925385fee33b289e875e9e0903370d0ec909d66893d9ac846d5c7fedf469129a3327e3458668db5a83ff2718c04174e6e07c66 WHIRLPOOL 156cac6e08c57c1a4c2b5511d211de784d941c22d6bc7c2aa8188e9c01b8cf043e4f7a3af595180c68af4de6be7d1bfba4f27323c14a18afdd3110e8629802a3
+DIST v4l-dvb-saa716x-0.0.1_p20160322.tar.gz 5028181 SHA256 daef53afa986ef74f035ab82c7b85bbfc51641b13a544241ee7db95cab2fd5b7 SHA512 94a41467688a0363586c654102e35366071218432042bc324d041298ad4812139201f8df17eadb37ebb9baf2b097447fc0859270bcc4e8e0c73b17e0b8045343 WHIRLPOOL 0fdc8fcbb3197c6bc4bbe678f179b352180b5045ef0fd635967092ed94572569a0884c3de113d1849ee5db12f6c1ed4a08401519303395e2cd2e69735ed55dca

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.6.0-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.6.0-fix-compile.patch
new file mode 100644
index 00000000000..5aeaabd29af
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.6.0-fix-compile.patch
@@ -0,0 +1,24 @@
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:48:27.196949325 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:50:28.149283794 +0100
+@@ -1,9 +1,6 @@
+ #include <asm/atomic.h>
+ #include <linux/spinlock_types.h>
+-#include <asm/io.h>
+ #include <asm/processor.h>
+-#include <asm/pgtable.h>
+-#include <asm/page.h>
+ #include <linux/kmod.h>
+ #include <linux/vmalloc.h>
+ #include <linux/init.h>
+@@ -20,11 +17,6 @@
+ 
+ #define DRIVER_NAME				"SAA716x Core"
+ 
+-static irqreturn_t saa716x_msi_handler(int irq, void *dev_id)
+-{
+-	return IRQ_HANDLED;
+-}
+-
+ static int saa716x_enable_msi(struct saa716x_dev *saa716x)
+ {
+ 	struct pci_dev *pdev = saa716x->pdev;

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild
new file mode 100644
index 00000000000..7a1ee35379d
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit linux-info linux-mod
+
+DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
+HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x/overview"
+
+HG_REVISION="3b9fce66666a"
+HG_REVISION_DATE="20160322"
+
+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() {
+	default
+
+	eapply -p0 "${FILESDIR}/OSD_RAW_CMD_patch_2.diff"
+	eapply "${FILESDIR}/v4l-dvb-saa716x-Makefilepatch-2.diff"
+	kernel_is ge 3 19 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-3.19-set_gpio.patch"
+	kernel_is ge 4 2 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.2-fix-compile.patch"
+	kernel_is ge 4 5 2 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.5.2-fix-compile.patch"
+	kernel_is ge 4 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.6.0-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
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2017-07-12  5:47 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2017-07-12  5:47 UTC (permalink / raw
  To: gentoo-commits

commit:     e0c1035aba761db0cbb2e72144fffa6b70d753a8
Author:     Martin Dummer <martin.dummer <AT> ts <DOT> fujitsu <DOT> com>
AuthorDate: Tue Jul 11 22:12:02 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 12 05:46:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0c1035a

media-tv/v4l-dvb-saa716x: fix 4.9 compile warnings, 4.10+ compile errors

Closes: https://github.com/gentoo/gentoo/pull/4192
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 .../files/v4l-dvb-saa716x-4.10-fix-compile.patch   |  18 +++
 .../files/v4l-dvb-saa716x-4.9-fix-warnings.patch   | 146 +++++++++++++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225.ebuild         |  12 +-
 3 files changed, 171 insertions(+), 5 deletions(-)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.10-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.10-fix-compile.patch
new file mode 100644
index 00000000000..4086da102b8
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.10-fix-compile.patch
@@ -0,0 +1,18 @@
+--- a/linux/drivers/media/common/saa716x/saa716x_ff.h
++++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
+@@ -1,7 +1,6 @@
+ #ifndef __SAA716x_FF_H
+ #define __SAA716x_FF_H
+ 
+-#include "dvb_filter.h"
+ #include "dvb_ringbuffer.h"
+ #include <linux/version.h>
+ #include <linux/workqueue.h>
+@@ -95,6 +94,7 @@
+ #define MAX_RESULT_LEN		256
+ #define MAX_DATA_LEN		(1024 * 1024)
+ 
++#define TS_SIZE			188
+ #define TSOUT_LEN		(1024 * TS_SIZE)
+ #define TSOUT_LEVEL_FILL	(350 * TS_SIZE)
+ #define TSOUT_LEVEL_HIGH	(30 * TS_SIZE)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.9-fix-warnings.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.9-fix-warnings.patch
new file mode 100644
index 00000000000..a32ab60868a
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.9-fix-warnings.patch
@@ -0,0 +1,146 @@
+--- a/linux/drivers/media/common/saa716x/saa716x_rom.c	2015-12-29 19:40:55.000000000 +0100
++++ a/linux/drivers/media/common/saa716x/saa716x_rom.c	2017-07-11 00:51:19.149941914 +0200
+@@ -113,7 +113,7 @@
+ 	memcpy(rom_header, &buf[*offset], sizeof (struct saa716x_romhdr));
+ 	if (rom_header->header_size != sizeof (struct saa716x_romhdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%zd bytes, Expected=%d",
+ 			sizeof (struct saa716x_romhdr),
+ 			rom_header->header_size);
+ 
+@@ -237,7 +237,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_decoder_hdr));
+ 
+@@ -268,7 +268,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_gpio_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_gpio_hdr));
+ 
+@@ -305,7 +305,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_video_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_video_decoder_hdr));
+ 
+@@ -386,7 +386,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_audio_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_audio_decoder_hdr));
+ 
+@@ -417,7 +417,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_evsrc_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_evsrc_hdr));
+ 
+@@ -448,7 +448,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_xbar_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_xbar_hdr));
+ 
+@@ -486,7 +486,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_tuner_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_tuner_hdr));
+ 
+@@ -516,7 +516,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_pll_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_pll_hdr));
+ 
+@@ -546,7 +546,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_channel_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_channel_decoder_hdr));
+ 
+@@ -576,7 +576,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_encoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_encoder_hdr));
+ 
+@@ -606,7 +606,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_ir_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_ir_hdr));
+ 
+@@ -637,7 +637,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_eeprom_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_eeprom_hdr));
+ 
+@@ -668,7 +668,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_filter_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_filter_hdr));
+ 
+@@ -699,7 +699,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_streamdev_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_streamdev_hdr));
+ 
+@@ -789,7 +789,7 @@
+ 
+ 	memcpy(device, &buf[*offset], sizeof (struct saa716x_devinfo));
+ 	if (device->struct_size != sizeof (struct saa716x_devinfo)) {
+-		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%d bytes",
++		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%zd bytes",
+ 		device->struct_size,
+ 		sizeof (struct saa716x_devinfo));
+ 

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild
index 7a1ee35379d..bf52baeeac2 100644
--- a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225.ebuild
@@ -26,10 +26,10 @@ RDEPEND="${DEPEND}
 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)"
+MODULE_NAMES="saa716x_ff(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_core(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_budget(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_hybrid(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
 
 CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
 
@@ -42,12 +42,14 @@ src_prepare() {
 	kernel_is ge 4 2 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.2-fix-compile.patch"
 	kernel_is ge 4 5 2 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.5.2-fix-compile.patch"
 	kernel_is ge 4 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.6.0-fix-compile.patch"
+	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.9-fix-warnings.patch"
+	kernel_is ge 4 10 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.10-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/
+	addpredict "${EROOT%/}"/usr/src/linux/
 	linux-mod_src_compile
 }


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2018-03-29 19:20 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2018-03-29 19:20 UTC (permalink / raw
  To: gentoo-commits

commit:     d994d79812c21406bacc28fbc6b90bc8fa811bc6
Author:     Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Sun Mar 25 10:51:28 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar 29 19:16:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d994d798

media-tv/v4l-dvb-saa716x: fix compile issue, #631854

fix compile issue with kernel >=4.14
Closes: https://bugs.gentoo.org/631854
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../files/v4l-dvb-saa716x-4.14.0-fix-compile.patch | 11 +++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild      | 56 ++++++++++++++++++++++
 2 files changed, 67 insertions(+)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.14.0-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.14.0-fix-compile.patch
new file mode 100644
index 00000000000..fce2d517798
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.14.0-fix-compile.patch
@@ -0,0 +1,11 @@
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:39:20.777643694 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:41:02.135696671 +0100
+@@ -39,7 +39,7 @@
+ 	for (i = 0; i < SAA716x_MSI_MAX_VECTORS; i++)
+ 		saa716x->msix_entries[i].entry = i;
+ 
+-	ret = pci_enable_msix(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS);
++	ret = pci_enable_msix_range(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS, SAA716x_MSI_MAX_VECTORS);
+ 	if (ret < 0)
+ 		dprintk(SAA716x_ERROR, 1, "MSI-X request failed <%d>", ret);
+ 	if (ret > 0)

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
new file mode 100644
index 00000000000..665d4501782
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit linux-info linux-mod
+
+DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
+HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x/overview"
+
+HG_REVISION="3b9fce66666a"
+HG_REVISION_DATE="20160322"
+
+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:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_core(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_budget(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_hybrid(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
+
+CONFIG_CHECK="~DVB_CORE ~DVB_STV6110x ~DVB_STV090x"
+
+src_prepare() {
+	default
+
+	eapply -p0 "${FILESDIR}/OSD_RAW_CMD_patch_2.diff"
+	eapply "${FILESDIR}/v4l-dvb-saa716x-Makefilepatch-2.diff"
+	kernel_is ge 3 19 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-3.19-set_gpio.patch"
+	kernel_is ge 4 2 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.2-fix-compile.patch"
+	kernel_is ge 4 5 2 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.5.2-fix-compile.patch"
+	kernel_is ge 4 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.6.0-fix-compile.patch"
+	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.9-fix-warnings.patch"
+	kernel_is ge 4 10 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.10-fix-compile.patch"
+	kernel_is ge 4 14 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.14.0-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 "${EROOT%/}"/usr/src/linux/
+	linux-mod_src_compile
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2018-04-04 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 10+ messages in thread
From: Andreas Sturmlechner @ 2018-04-04 23:34 UTC (permalink / raw
  To: gentoo-commits

commit:     eac1e428a7e1fef6995e14aba81133fd10f90031
Author:     Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Fri Mar 30 12:51:50 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Apr  4 23:27:31 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eac1e428

media-tv/v4l-dvb-saa716x: fix compile with kernel 4.15

import fixes from https://github.com/s-moch/linux-saa716x
https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch

Closes: https://bugs.gentoo.org/631854

Package-Manager: Portage-2.3.24, Repoman-2.3.6
Closes: https://github.com/gentoo/gentoo/pull/7802

 .../v4l-dvb-saa716x-4.15-fix-autorepeat.patch      | 107 +++++++++++++++++++++
 .../files/v4l-dvb-saa716x-4.15-fix-timers.patch    |  41 ++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild      |   2 +
 3 files changed, 150 insertions(+)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-autorepeat.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-autorepeat.patch
new file mode 100644
index 00000000000..e3a3a737663
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-autorepeat.patch
@@ -0,0 +1,107 @@
+# Source: https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
+
+From 0b2276ee2e6383ad577fce5c694f8c4062d5334b Mon Sep 17 00:00:00 2001
+From: Soeren Moch <smoch@web.de>
+Date: Sat, 2 Dec 2017 20:51:10 +0100
+Subject: [PATCH] saa716x_ff: Remove autorepeat handling
+
+Let the input layer handle autorepeat for the IR remote.
+So no repeat_key timer is required anymore.
+
+Signed-off-by: Soeren Moch <smoch@web.de>
+---
+ drivers/media/common/saa716x/saa716x_ff_ir.c | 45 ++++++++--------------------
+ 1 file changed, 12 insertions(+), 33 deletions(-)
+
+diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
+index 35624789aa862..ad6f38611026c 100644
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
+@@ -40,7 +40,7 @@ struct infrared {
+ 	u8			protocol;
+ 	u16			last_key;
+ 	u16			last_toggle;
+-	bool			delay_timer_finished;
++	bool			key_pressed;
+ };
+ 
+ #define IR_RC5		0
+@@ -52,11 +52,12 @@ static void ir_emit_keyup(unsigned long parm)
+ {
+ 	struct infrared *ir = (struct infrared *) parm;
+ 
+-	if (!ir || !test_bit(ir->last_key, ir->input_dev->key))
++	if (!ir || !ir->key_pressed)
+ 		return;
+ 
+ 	input_report_key(ir->input_dev, ir->last_key, 0);
+ 	input_sync(ir->input_dev);
++	ir->key_pressed = false;
+ }
+ 
+ 
+@@ -114,28 +115,18 @@ static void ir_emit_key(unsigned long parm)
+ 		return;
+ 	}
+ 
+-	if (timer_pending(&ir->keyup_timer)) {
+-		del_timer(&ir->keyup_timer);
+-		if (ir->last_key != keycode || toggle != ir->last_toggle) {
+-			ir->delay_timer_finished = false;
+-			input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
+-			input_event(ir->input_dev, EV_KEY, keycode, 1);
+-			input_sync(ir->input_dev);
+-		} else if (ir->delay_timer_finished) {
+-			input_event(ir->input_dev, EV_KEY, keycode, 2);
+-			input_sync(ir->input_dev);
+-		}
+-	} else {
+-		ir->delay_timer_finished = false;
+-		input_event(ir->input_dev, EV_KEY, keycode, 1);
+-		input_sync(ir->input_dev);
+-	}
++	if (ir->key_pressed &&
++	    (ir->last_key != keycode || toggle != ir->last_toggle))
++		input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
+ 
++	input_event(ir->input_dev, EV_KEY, keycode, 1);
++	input_sync(ir->input_dev);
++
++	ir->key_pressed = true;
+ 	ir->last_key = keycode;
+ 	ir->last_toggle = toggle;
+ 
+-	ir->keyup_timer.expires = jiffies + UP_TIMEOUT;
+-	add_timer(&ir->keyup_timer);
++	mod_timer(&ir->keyup_timer, jiffies + UP_TIMEOUT);
+ 
+ }
+ 
+@@ -166,16 +157,6 @@ static void ir_register_keys(struct infrared *ir)
+ 	ir->input_dev->keycodemax = ARRAY_SIZE(ir->key_map);
+ }
+ 
+-
+-/* called by the input driver after rep[REP_DELAY] ms */
+-static void ir_repeat_key(unsigned long parm)
+-{
+-	struct infrared *ir = (struct infrared *) parm;
+-
+-	ir->delay_timer_finished = true;
+-}
+-
+-
+ /* interrupt handler */
+ void saa716x_ir_handler(struct saa716x_dev *saa716x, u32 ir_cmd)
+ {
+@@ -236,9 +217,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
+ 		ir->key_map[i] = i+1;
+ 	ir_register_keys(ir);
+ 
+-	/* override repeat timer */
+-	input_dev->timer.function = ir_repeat_key;
+-	input_dev->timer.data = (unsigned long) ir;
++	input_enable_softrepeat(input_dev, 800, 200);
+ 
+ 	tasklet_init(&ir->tasklet, ir_emit_key, (unsigned long) saa716x);
+ 	saa716x->ir_priv = ir;

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-timers.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-timers.patch
new file mode 100644
index 00000000000..841c32e0515
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-timers.patch
@@ -0,0 +1,41 @@
+# Source: https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch
+
+From 1002d79c4ba60de0dbeacba0f289119556d7450d Mon Sep 17 00:00:00 2001
+From: Soeren Moch <smoch@web.de>
+Date: Sat, 2 Dec 2017 21:23:34 +0100
+Subject: [PATCH] saa716x_ff: Convert to new timer API
+
+Convert to new timer API in linux-4.15.
+
+Signed-off-by: Soeren Moch <smoch@web.de>
+---
+ drivers/media/common/saa716x/saa716x_ff_ir.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
+index ad6f38611026c..7894adff4d4f6 100644
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
+@@ -48,9 +48,9 @@ struct infrared {
+ 
+ 
+ /* key-up timer */
+-static void ir_emit_keyup(unsigned long parm)
++static void ir_emit_keyup(struct timer_list *t)
+ {
+-	struct infrared *ir = (struct infrared *) parm;
++	struct infrared *ir = from_timer(ir, t, keyup_timer);
+ 
+ 	if (!ir || !ir->key_pressed)
+ 		return;
+@@ -184,9 +184,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
+ 	if (!ir)
+ 		return -ENOMEM;
+ 
+-	init_timer(&ir->keyup_timer);
+-	ir->keyup_timer.function = ir_emit_keyup;
+-	ir->keyup_timer.data = (unsigned long) ir;
++	timer_setup(&ir->keyup_timer, ir_emit_keyup, 0);
+ 
+ 	input_dev = input_allocate_device();
+ 	if (!input_dev)

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
index 665d4501782..9e77e9d3986 100644
--- a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
@@ -45,6 +45,8 @@ src_prepare() {
 	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.9-fix-warnings.patch"
 	kernel_is ge 4 10 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.10-fix-compile.patch"
 	kernel_is ge 4 14 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.14.0-fix-compile.patch"
+	kernel_is ge 4 15 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.15-fix-autorepeat.patch"
+	kernel_is ge 4 15 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.15-fix-timers.patch"
 }
 
 src_compile() {


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2018-04-04 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 10+ messages in thread
From: Andreas Sturmlechner @ 2018-04-04 23:34 UTC (permalink / raw
  To: gentoo-commits

commit:     7611642848ad5a520e7a1d193002b7724561f767
Author:     Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Wed Apr  4 06:40:06 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Apr  4 23:27:31 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76116428

media-tv/v4l-dvb-saa716x: fix compile with kernel 4.16

adjust sources due to moved DVB header files in kernel 4.16

Closes: https://bugs.gentoo.org/652346
Closes: https://bugs.gentoo.org/652184
Package-Manager: Portage-2.3.27, Repoman-2.3.9

 .../files/v4l-dvb-saa716x-4.16-fix-compile.patch   | 49 ++++++++++++++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild      |  1 +
 2 files changed, 50 insertions(+)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.16-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.16-fix-compile.patch
new file mode 100644
index 00000000000..d6e63ef3b5a
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.16-fix-compile.patch
@@ -0,0 +1,49 @@
+diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c
+--- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:24:59.454708009 +0200
++++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:25:36.263560559 +0200
+@@ -1,9 +1,9 @@
+ #include <linux/bitops.h>
+ 
+-#include "dmxdev.h"
+-#include "dvbdev.h"
+-#include "dvb_demux.h"
+-#include "dvb_frontend.h"
++#include <media/dmxdev.h>
++#include <media/dvbdev.h>
++#include <media/dvb_demux.h>
++#include <media/dvb_frontend.h>
+ 
+ #include "saa716x_mod.h"
+ #include "saa716x_spi.h"
+diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h
+--- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:24:59.458708101 +0200
++++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:25:36.263560559 +0200
+@@ -1,7 +1,7 @@
+ #ifndef __SAA716x_FF_H
+ #define __SAA716x_FF_H
+ 
+-#include "dvb_ringbuffer.h"
++#include <media/dvb_ringbuffer.h>
+ #include <linux/version.h>
+ #include <linux/workqueue.h>
+ 
+diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h
+--- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:24:59.458708101 +0200
++++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:25:36.263560559 +0200
+@@ -18,11 +18,11 @@
+ #include "saa716x_spi.h"
+ #include "saa716x_vip.h"
+ 
+-#include "dvbdev.h"
+-#include "dvb_demux.h"
+-#include "dmxdev.h"
+-#include "dvb_frontend.h"
+-#include "dvb_net.h"
++#include <media/dvbdev.h>
++#include <media/dvb_demux.h>
++#include <media/dmxdev.h>
++#include <media/dvb_frontend.h>
++#include <media/dvb_net.h>
+ 
+ #define SAA716x_ERROR		0
+ #define SAA716x_NOTICE		1

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
index 9e77e9d3986..b83bae3ad71 100644
--- a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild
@@ -47,6 +47,7 @@ src_prepare() {
 	kernel_is ge 4 14 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.14.0-fix-compile.patch"
 	kernel_is ge 4 15 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.15-fix-autorepeat.patch"
 	kernel_is ge 4 15 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.15-fix-timers.patch"
+	kernel_is ge 4 16 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.16-fix-compile.patch"
 }
 
 src_compile() {


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2020-11-10 12:22 Joonas Niilola
  0 siblings, 0 replies; 10+ messages in thread
From: Joonas Niilola @ 2020-11-10 12:22 UTC (permalink / raw
  To: gentoo-commits

commit:     97e385e16ff5d5ac3dee2b2a5ae5a255c4537e16
Author:     Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Sun Oct  4 13:13:56 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Nov 10 12:19:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97e385e1

media-tv/v4l-dvb-saa716x: fix compile with kernel >=5.6

Package-Manager: Portage-3.0.9, Repoman-3.0.1
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/17767
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../files/v4l-dvb-saa716x-5.6-fix-compile.patch    |  38 ++++
 .../files/v4l-dvb-saa716x-up-to-4.14.patch         |  32 +++
 .../files/v4l-dvb-saa716x-up-to-4.17.patch         | 217 +++++++++++++++++++++
 .../files/v4l-dvb-saa716x-up-to-4.4.patch          |  97 +++++++++
 .../files/v4l-dvb-saa716x-up-to-4.9.patch          | 192 ++++++++++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild      |  52 +++++
 6 files changed, 628 insertions(+)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.6-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.6-fix-compile.patch
new file mode 100644
index 00000000000..6a72c06ae55
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.6-fix-compile.patch
@@ -0,0 +1,38 @@
+diff -Naur powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_ff_phi.c powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_ff_phi.c
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_ff_phi.c	2015-12-29 19:40:55.000000000 +0100
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_ff_phi.c	2020-10-04 11:40:59.830329660 +0200
+@@ -41,7 +41,7 @@
+ 	}
+ 
+ 	/* skip first PHI window as it is already mapped */
+-	sti7109->mmio_uc = ioremap_nocache(phi1_start + 0x10000, 0x30000);
++	sti7109->mmio_uc = ioremap(phi1_start + 0x10000, 0x30000);
+ 	if (!sti7109->mmio_uc) {
+ 		dprintk(SAA716x_ERROR, 1, "Mem PHI1 remap failed");
+ 		err = -ENODEV;
+diff -Naur powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_pci.c powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_pci.c
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_pci.c	2020-10-04 11:38:55.811653278 +0200
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_pci.c	2020-10-04 11:40:34.557784199 +0200
+@@ -185,7 +185,7 @@
+ 		goto fail2;
+ 	}
+ 
+-	saa716x->mmio = ioremap_nocache(pci_resource_start(pdev, 0), 0x30000);
++	saa716x->mmio = ioremap(pci_resource_start(pdev, 0), 0x30000);
+ 	if (!saa716x->mmio) {
+ 		dprintk(SAA716x_ERROR, 1, "Mem 0 remap failed");
+ 		ret = -ENODEV;
+diff -Naur powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/v4l/compat.h powARman-v4l-dvb-saa716x-83f3bfd93a95/v4l/compat.h
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/v4l/compat.h	2015-12-29 19:40:55.000000000 +0100
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/v4l/compat.h	2020-10-04 11:41:58.379593434 +0200
+@@ -571,8 +571,8 @@
+ 
+ #ifdef NEED_PCI_IOREMAP_BAR
+ #define pci_ioremap_bar(pdev, bar) \
+-	 ioremap_nocache(pci_resource_start(pdev, bar),	\
+-			 pci_resource_len(pdev, bar))
++	 ioremap(pci_resource_start(pdev, bar),	\
++		 pci_resource_len(pdev, bar))
+ #endif
+ 
+ #ifdef NEED_POLL_SCHEDULE

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.14.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.14.patch
new file mode 100644
index 00000000000..8abe888ff0e
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.14.patch
@@ -0,0 +1,32 @@
+# file v4l-dvb-saa716x-4.10-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_ff.h
++++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
+@@ -1,7 +1,6 @@
+ #ifndef __SAA716x_FF_H
+ #define __SAA716x_FF_H
+ 
+-#include "dvb_filter.h"
+ #include "dvb_ringbuffer.h"
+ #include <linux/version.h>
+ #include <linux/workqueue.h>
+@@ -95,6 +94,7 @@
+ #define MAX_RESULT_LEN		256
+ #define MAX_DATA_LEN		(1024 * 1024)
+ 
++#define TS_SIZE			188
+ #define TSOUT_LEN		(1024 * TS_SIZE)
+ #define TSOUT_LEVEL_FILL	(350 * TS_SIZE)
+ #define TSOUT_LEVEL_HIGH	(30 * TS_SIZE)
+
+# file v4l-dvb-saa716x-4.14.0-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:39:20.777643694 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:41:02.135696671 +0100
+@@ -39,7 +39,7 @@
+ 	for (i = 0; i < SAA716x_MSI_MAX_VECTORS; i++)
+ 		saa716x->msix_entries[i].entry = i;
+ 
+-	ret = pci_enable_msix(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS);
++	ret = pci_enable_msix_range(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS, SAA716x_MSI_MAX_VECTORS);
+ 	if (ret < 0)
+ 		dprintk(SAA716x_ERROR, 1, "MSI-X request failed <%d>", ret);
+ 	if (ret > 0)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.17.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.17.patch
new file mode 100644
index 00000000000..58bae509ec8
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.17.patch
@@ -0,0 +1,217 @@
+# file v4l-dvb-saa716x-4.15-fix-autorepeat.patch
+
+# Source: https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
+
+From 0b2276ee2e6383ad577fce5c694f8c4062d5334b Mon Sep 17 00:00:00 2001
+From: Soeren Moch <smoch@web.de>
+Date: Sat, 2 Dec 2017 20:51:10 +0100
+Subject: [PATCH] saa716x_ff: Remove autorepeat handling
+
+Let the input layer handle autorepeat for the IR remote.
+So no repeat_key timer is required anymore.
+
+Signed-off-by: Soeren Moch <smoch@web.de>
+---
+ drivers/media/common/saa716x/saa716x_ff_ir.c | 45 ++++++++--------------------
+ 1 file changed, 12 insertions(+), 33 deletions(-)
+
+diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
+index 35624789aa862..ad6f38611026c 100644
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
+@@ -40,7 +40,7 @@ struct infrared {
+ 	u8			protocol;
+ 	u16			last_key;
+ 	u16			last_toggle;
+-	bool			delay_timer_finished;
++	bool			key_pressed;
+ };
+ 
+ #define IR_RC5		0
+@@ -52,11 +52,12 @@ static void ir_emit_keyup(unsigned long parm)
+ {
+ 	struct infrared *ir = (struct infrared *) parm;
+ 
+-	if (!ir || !test_bit(ir->last_key, ir->input_dev->key))
++	if (!ir || !ir->key_pressed)
+ 		return;
+ 
+ 	input_report_key(ir->input_dev, ir->last_key, 0);
+ 	input_sync(ir->input_dev);
++	ir->key_pressed = false;
+ }
+ 
+ 
+@@ -114,28 +115,18 @@ static void ir_emit_key(unsigned long parm)
+ 		return;
+ 	}
+ 
+-	if (timer_pending(&ir->keyup_timer)) {
+-		del_timer(&ir->keyup_timer);
+-		if (ir->last_key != keycode || toggle != ir->last_toggle) {
+-			ir->delay_timer_finished = false;
+-			input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
+-			input_event(ir->input_dev, EV_KEY, keycode, 1);
+-			input_sync(ir->input_dev);
+-		} else if (ir->delay_timer_finished) {
+-			input_event(ir->input_dev, EV_KEY, keycode, 2);
+-			input_sync(ir->input_dev);
+-		}
+-	} else {
+-		ir->delay_timer_finished = false;
+-		input_event(ir->input_dev, EV_KEY, keycode, 1);
+-		input_sync(ir->input_dev);
+-	}
++	if (ir->key_pressed &&
++	    (ir->last_key != keycode || toggle != ir->last_toggle))
++		input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
+ 
++	input_event(ir->input_dev, EV_KEY, keycode, 1);
++	input_sync(ir->input_dev);
++
++	ir->key_pressed = true;
+ 	ir->last_key = keycode;
+ 	ir->last_toggle = toggle;
+ 
+-	ir->keyup_timer.expires = jiffies + UP_TIMEOUT;
+-	add_timer(&ir->keyup_timer);
++	mod_timer(&ir->keyup_timer, jiffies + UP_TIMEOUT);
+ 
+ }
+ 
+@@ -166,16 +157,6 @@ static void ir_register_keys(struct infrared *ir)
+ 	ir->input_dev->keycodemax = ARRAY_SIZE(ir->key_map);
+ }
+ 
+-
+-/* called by the input driver after rep[REP_DELAY] ms */
+-static void ir_repeat_key(unsigned long parm)
+-{
+-	struct infrared *ir = (struct infrared *) parm;
+-
+-	ir->delay_timer_finished = true;
+-}
+-
+-
+ /* interrupt handler */
+ void saa716x_ir_handler(struct saa716x_dev *saa716x, u32 ir_cmd)
+ {
+@@ -236,9 +217,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
+ 		ir->key_map[i] = i+1;
+ 	ir_register_keys(ir);
+ 
+-	/* override repeat timer */
+-	input_dev->timer.function = ir_repeat_key;
+-	input_dev->timer.data = (unsigned long) ir;
++	input_enable_softrepeat(input_dev, 800, 200);
+ 
+ 	tasklet_init(&ir->tasklet, ir_emit_key, (unsigned long) saa716x);
+ 	saa716x->ir_priv = ir;
+
+# file v4l-dvb-saa716x-4.15-fix-timers.patch
+# Source: https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch
+
+From 1002d79c4ba60de0dbeacba0f289119556d7450d Mon Sep 17 00:00:00 2001
+From: Soeren Moch <smoch@web.de>
+Date: Sat, 2 Dec 2017 21:23:34 +0100
+Subject: [PATCH] saa716x_ff: Convert to new timer API
+
+Convert to new timer API in linux-4.15.
+
+Signed-off-by: Soeren Moch <smoch@web.de>
+---
+ drivers/media/common/saa716x/saa716x_ff_ir.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
+index ad6f38611026c..7894adff4d4f6 100644
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
+@@ -48,9 +48,9 @@ struct infrared {
+ 
+ 
+ /* key-up timer */
+-static void ir_emit_keyup(unsigned long parm)
++static void ir_emit_keyup(struct timer_list *t)
+ {
+-	struct infrared *ir = (struct infrared *) parm;
++	struct infrared *ir = from_timer(ir, t, keyup_timer);
+ 
+ 	if (!ir || !ir->key_pressed)
+ 		return;
+@@ -184,9 +184,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
+ 	if (!ir)
+ 		return -ENOMEM;
+ 
+-	init_timer(&ir->keyup_timer);
+-	ir->keyup_timer.function = ir_emit_keyup;
+-	ir->keyup_timer.data = (unsigned long) ir;
++	timer_setup(&ir->keyup_timer, ir_emit_keyup, 0);
+ 
+ 	input_dev = input_allocate_device();
+ 	if (!input_dev)
+
+# file v4l-dvb-saa716x-4.16-fix-compile.patch
+diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c
+--- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:24:59.454708009 +0200
++++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:25:36.263560559 +0200
+@@ -1,9 +1,9 @@
+ #include <linux/bitops.h>
+ 
+-#include "dmxdev.h"
+-#include "dvbdev.h"
+-#include "dvb_demux.h"
+-#include "dvb_frontend.h"
++#include <media/dmxdev.h>
++#include <media/dvbdev.h>
++#include <media/dvb_demux.h>
++#include <media/dvb_frontend.h>
+ 
+ #include "saa716x_mod.h"
+ #include "saa716x_spi.h"
+diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h
+--- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:24:59.458708101 +0200
++++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:25:36.263560559 +0200
+@@ -1,7 +1,7 @@
+ #ifndef __SAA716x_FF_H
+ #define __SAA716x_FF_H
+ 
+-#include "dvb_ringbuffer.h"
++#include <media/dvb_ringbuffer.h>
+ #include <linux/version.h>
+ #include <linux/workqueue.h>
+ 
+diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h
+--- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:24:59.458708101 +0200
++++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:25:36.263560559 +0200
+@@ -18,11 +18,11 @@
+ #include "saa716x_spi.h"
+ #include "saa716x_vip.h"
+ 
+-#include "dvbdev.h"
+-#include "dvb_demux.h"
+-#include "dmxdev.h"
+-#include "dvb_frontend.h"
+-#include "dvb_net.h"
++#include <media/dvbdev.h>
++#include <media/dvb_demux.h>
++#include <media/dmxdev.h>
++#include <media/dvb_frontend.h>
++#include <media/dvb_net.h>
+ 
+ #define SAA716x_ERROR		0
+ #define SAA716x_NOTICE		1
+
+# file v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-11-08 15:44:10.479886225 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-11-08 15:45:19.981237523 +0100
+@@ -108,6 +108,9 @@
+ #define VIDEO_CAPTURE_OFF	0
+ #define VIDEO_CAPTURE_ONE_SHOT	1
+
++#ifndef AUDIO_GET_PTS
++#define AUDIO_GET_PTS              _IOR('o', 19, __u64)
++#endif
+
+ /* place to store all the necessary device information */
+ struct sti7109_dev {

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.4.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.4.patch
new file mode 100644
index 00000000000..e719f4d629e
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.4.patch
@@ -0,0 +1,97 @@
+# file OSD_RAW_CMD_patch_2.diff
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_cmd.h.orig	2011-11-12 14:46:51.175700236 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_cmd.h	2011-11-12 14:45:10.103702959 +0100
+@@ -1,6 +1,24 @@
+ #ifndef __SAA716x_FF_CMD_H
+ #define __SAA716x_FF_CMD_H
+ 
++#if !defined OSD_RAW_CMD
++typedef struct osd_raw_cmd_s {
++    const void *cmd_data;
++    int cmd_len;
++    void *result_data;
++    int result_len;
++} osd_raw_cmd_t;
++
++typedef struct osd_raw_data_s {
++    const void *data_buffer;
++    int data_length;
++    int data_handle;
++} osd_raw_data_t;
++
++#define OSD_RAW_CMD            _IOWR('o', 162, osd_raw_cmd_t)
++#define OSD_RAW_DATA           _IOWR('o', 163, osd_raw_data_t)
++#endif
++
+ extern int sti7109_cmd_init(struct sti7109_dev *sti7109);
+ extern int sti7109_raw_cmd(struct sti7109_dev * sti7109,
+ 			   osd_raw_cmd_t * cmd);
+
+# file v4l-dvb-saa716x-Makefilepatch-2.diff
+--- v4l-dvb-saa716x-cfa4b4faab67/linux/drivers/media/common/saa716x/Makefile.orig	2013-03-02 07:44:51.112642592 +0100
++++ v4l-dvb-saa716x-cfa4b4faab67/linux/drivers/media/common/saa716x/Makefile	2013-03-02 07:46:56.703138542 +0100
+@@ -24,3 +24,5 @@
+ obj-$(CONFIG_DVB_SAA716X_FF)	  += saa716x_ff.o
+ 
+ EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/ -Idrivers/media/dvb-core/ -Idrivers/media/dvb-frontends/
++EXTRA_CFLAGS += -Idrivers/media/common/tuners/ # up to kernel 3.6
++EXTRA_CFLAGS += -Idrivers/media/tuners/        # kernel 3.7+
+
+
+# file v4l-dvb-saa716x-3.19-set_gpio.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_budget.c	2014-11-09 15:44:55.000000000 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_budget.c	2015-02-28 13:58:01.258743639 +0100
+@@ -497,10 +497,10 @@
+ 		break;
+ 	}
+ 
+-	err = stv090x_set_gpio(fe, 2, 0, en, 0);
++	err = skystar2_stv090x_config.set_gpio(fe, 2, 0, en, 0);
+ 	if (err < 0)
+ 		goto exit;
+-	err = stv090x_set_gpio(fe, 3, 0, sel, 0);
++	err = skystar2_stv090x_config.set_gpio(fe, 3, 0, sel, 0);
+ 	if (err < 0)
+ 		goto exit;
+ 
+@@ -519,7 +519,7 @@
+ 	else
+ 		value = 0;
+ 
+-	err = stv090x_set_gpio(fe, 4, 0, value, 0);
++	err = skystar2_stv090x_config.set_gpio(fe, 4, 0, value, 0);
+ 	if (err < 0)
+ 		goto exit;
+ 
+# file v4l-dvb-saa716x-4.2-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_budget.c	2015-09-03 00:30:08.662553247 +0200
++++ b/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;
+ 
+--- a/linux/drivers/media/common/saa716x/saa716x_hybrid.c	2014-11-09 15:44:55.000000000 +0100
++++ b/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;
+ 
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2014-11-09 15:44:55.000000000 +0100
++++ b/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/files/v4l-dvb-saa716x-up-to-4.9.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.9.patch
new file mode 100644
index 00000000000..72c27974bfd
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.9.patch
@@ -0,0 +1,192 @@
+# file v4l-dvb-saa716x-4.5.2-fix-compile.patch
+fix compile with kernel >= 4.5.2
+wrt bug 581450
+Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> 2016/05/05
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c.old	2016-04-27 20:59:51.000000000 +0200
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2016-04-27 21:19:03.117822874 +0200
+@@ -1,6 +1,7 @@
+ #include <asm/atomic.h>
+ #include <linux/spinlock_types.h>
+ #include <asm/io.h>
++#include <asm/processor.h>
+ #include <asm/pgtable.h>
+ #include <asm/page.h>
+ #include <linux/kmod.h>
+
+
+
+# file v4l-dvb-saa716x-4.6.0-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:48:27.196949325 +0100
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:50:28.149283794 +0100
+@@ -1,9 +1,6 @@
+ #include <asm/atomic.h>
+ #include <linux/spinlock_types.h>
+-#include <asm/io.h>
+ #include <asm/processor.h>
+-#include <asm/pgtable.h>
+-#include <asm/page.h>
+ #include <linux/kmod.h>
+ #include <linux/vmalloc.h>
+ #include <linux/init.h>
+@@ -20,11 +17,6 @@
+ 
+ #define DRIVER_NAME				"SAA716x Core"
+ 
+-static irqreturn_t saa716x_msi_handler(int irq, void *dev_id)
+-{
+-	return IRQ_HANDLED;
+-}
+-
+ static int saa716x_enable_msi(struct saa716x_dev *saa716x)
+ {
+ 	struct pci_dev *pdev = saa716x->pdev;
+
+
+
+# file v4l-dvb-saa716x-4.9-fix-warnings.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_rom.c	2015-12-29 19:40:55.000000000 +0100
++++ a/linux/drivers/media/common/saa716x/saa716x_rom.c	2017-07-11 00:51:19.149941914 +0200
+@@ -113,7 +113,7 @@
+ 	memcpy(rom_header, &buf[*offset], sizeof (struct saa716x_romhdr));
+ 	if (rom_header->header_size != sizeof (struct saa716x_romhdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%zd bytes, Expected=%d",
+ 			sizeof (struct saa716x_romhdr),
+ 			rom_header->header_size);
+ 
+@@ -237,7 +237,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_decoder_hdr));
+ 
+@@ -268,7 +268,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_gpio_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_gpio_hdr));
+ 
+@@ -305,7 +305,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_video_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_video_decoder_hdr));
+ 
+@@ -386,7 +386,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_audio_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_audio_decoder_hdr));
+ 
+@@ -417,7 +417,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_evsrc_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_evsrc_hdr));
+ 
+@@ -448,7 +448,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_xbar_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_xbar_hdr));
+ 
+@@ -486,7 +486,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_tuner_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_tuner_hdr));
+ 
+@@ -516,7 +516,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_pll_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_pll_hdr));
+ 
+@@ -546,7 +546,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_channel_decoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_channel_decoder_hdr));
+ 
+@@ -576,7 +576,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_encoder_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_encoder_hdr));
+ 
+@@ -606,7 +606,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_ir_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_ir_hdr));
+ 
+@@ -637,7 +637,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_eeprom_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_eeprom_hdr));
+ 
+@@ -668,7 +668,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_filter_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_filter_hdr));
+ 
+@@ -699,7 +699,7 @@
+ 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+ 	if (header.size != sizeof (struct saa716x_streamdev_hdr)) {
+ 		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+ 			header.size,
+ 			sizeof (struct saa716x_streamdev_hdr));
+ 
+@@ -789,7 +789,7 @@
+ 
+ 	memcpy(device, &buf[*offset], sizeof (struct saa716x_devinfo));
+ 	if (device->struct_size != sizeof (struct saa716x_devinfo)) {
+-		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%d bytes",
++		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%zd bytes",
+ 		device->struct_size,
+ 		sizeof (struct saa716x_devinfo));
+ 

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild
new file mode 100644
index 00000000000..7761f63d2db
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info linux-mod
+
+DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
+HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x"
+
+REVISION="83f3bfd93a95"
+REVISION_DATE="20160322"
+
+SRC_URI="https://bitbucket.org/powARman/v4l-dvb-saa716x/get/${REVISION}.tar.bz2
+-> v4l-dvb-saa716x-0.0.1_p${REVISION_DATE}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+	sys-firmware/tt-s2-6400-firmware"
+
+S="${WORKDIR}/powARman-v4l-dvb-saa716x-${REVISION}"
+
+BUILD_TARGETS="modules"
+MODULE_NAMES="
+	saa716x_ff(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_core(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_budget(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
+	saa716x_hybrid(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
+
+CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
+
+src_prepare() {
+	default
+
+	kernel_is ge 4 4 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.4.patch"
+	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.9.patch"
+	kernel_is ge 4 14 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.14.patch"
+	kernel_is ge 4 17 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.17.patch"
+	kernel_is ge 5 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-5.6-fix-compile.patch"
+}
+
+src_compile() {
+	kernel_is le 5 0 && BUILD_PARAMS="SUBDIRS" || BUILD_PARAMS="M"
+	BUILD_PARAMS+="=${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 "${EROOT}"/usr/src/linux/
+	linux-mod_src_compile
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2021-02-17 11:36 Joonas Niilola
  0 siblings, 0 replies; 10+ messages in thread
From: Joonas Niilola @ 2021-02-17 11:36 UTC (permalink / raw
  To: gentoo-commits

commit:     f7c7c23120c520fbc7781e4b8c5e069b19979234
Author:     Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Sat Feb  6 08:38:11 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Feb 17 11:35:15 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7c7c231

media-tv/v4l-dvb-saa716x: remove old versions, cleanup

remove superseded versions
v4l-dvb-saa716x-0.0.1_p20170225-r3
v4l-dvb-saa716x-0.0.1_p20170225-r4
major cleanup in ${FILESDIR}

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/19349
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 media-tv/v4l-dvb-saa716x/Manifest                  |   1 -
 .../v4l-dvb-saa716x/files/OSD_RAW_CMD_patch_2.diff |  27 ----
 .../files/v4l-dvb-saa716x-3.19-set_gpio.patch      |  24 ----
 .../files/v4l-dvb-saa716x-4.10-fix-compile.patch   |  18 ---
 .../files/v4l-dvb-saa716x-4.14.0-fix-compile.patch |  11 --
 .../v4l-dvb-saa716x-4.15-fix-autorepeat.patch      | 107 ---------------
 .../files/v4l-dvb-saa716x-4.15-fix-timers.patch    |  41 ------
 .../files/v4l-dvb-saa716x-4.16-fix-compile.patch   |  49 -------
 ...v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch |  12 --
 .../files/v4l-dvb-saa716x-4.2-fix-compile.patch    |  34 -----
 .../files/v4l-dvb-saa716x-4.5.2-fix-compile.patch  |  13 --
 .../files/v4l-dvb-saa716x-4.6.0-fix-compile.patch  |  24 ----
 .../files/v4l-dvb-saa716x-4.9-fix-warnings.patch   | 146 ---------------------
 .../files/v4l-dvb-saa716x-Makefilepatch-2.diff     |   8 --
 media-tv/v4l-dvb-saa716x/metadata.xml              |   3 -
 .../v4l-dvb-saa716x-0.0.1_p20170225-r3.ebuild      |  55 --------
 .../v4l-dvb-saa716x-0.0.1_p20170225-r4.ebuild      |  61 ---------
 17 files changed, 634 deletions(-)

diff --git a/media-tv/v4l-dvb-saa716x/Manifest b/media-tv/v4l-dvb-saa716x/Manifest
index 26fb9fae726..c7e634919b3 100644
--- a/media-tv/v4l-dvb-saa716x/Manifest
+++ b/media-tv/v4l-dvb-saa716x/Manifest
@@ -1,2 +1 @@
 DIST v4l-dvb-saa716x-0.0.1_p20160322.tar.bz2 4070134 BLAKE2B 2c03d11ecd1f527ad066b2b14fcd2539e50fd07cefe2060be1bce96fd932d9ae83529f65b658ac550886f0c1f2b69a64d910011c80746353ffaed062865f1d6f SHA512 2ffb2acf00818b61af37a557e3b95a96b129b34ef80d24084483adfa35c0bb853b0abb626dbbf68bd9aa443c7436034542666274246fd47a603642a8e75ec83e
-DIST v4l-dvb-saa716x-0.0.1_p20160322.tar.gz 5028181 BLAKE2B 6d0917e7c72a7c77ff376b1bb1e55a36421568cc7b9221f4724c9e24a9bb6334c201d99f48c92965365ada2cd085b22ca9758e55ca621deb5eb65de3ef3e9a38 SHA512 94a41467688a0363586c654102e35366071218432042bc324d041298ad4812139201f8df17eadb37ebb9baf2b097447fc0859270bcc4e8e0c73b17e0b8045343

diff --git a/media-tv/v4l-dvb-saa716x/files/OSD_RAW_CMD_patch_2.diff b/media-tv/v4l-dvb-saa716x/files/OSD_RAW_CMD_patch_2.diff
deleted file mode 100644
index 7f09a1d60f1..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/OSD_RAW_CMD_patch_2.diff
+++ /dev/null
@@ -1,27 +0,0 @@
---- linux/drivers/media/common/saa716x/saa716x_ff_cmd.h.orig	2011-11-12 14:46:51.175700236 +0100
-+++ linux/drivers/media/common/saa716x/saa716x_ff_cmd.h	2011-11-12 14:45:10.103702959 +0100
-@@ -1,6 +1,24 @@
- #ifndef __SAA716x_FF_CMD_H
- #define __SAA716x_FF_CMD_H
- 
-+#if !defined OSD_RAW_CMD
-+typedef struct osd_raw_cmd_s {
-+    const void *cmd_data;
-+    int cmd_len;
-+    void *result_data;
-+    int result_len;
-+} osd_raw_cmd_t;
-+
-+typedef struct osd_raw_data_s {
-+    const void *data_buffer;
-+    int data_length;
-+    int data_handle;
-+} osd_raw_data_t;
-+
-+#define OSD_RAW_CMD            _IOWR('o', 162, osd_raw_cmd_t)
-+#define OSD_RAW_DATA           _IOWR('o', 163, osd_raw_data_t)
-+#endif
-+
- extern int sti7109_cmd_init(struct sti7109_dev *sti7109);
- extern int sti7109_raw_cmd(struct sti7109_dev * sti7109,
- 			   osd_raw_cmd_t * cmd);

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-3.19-set_gpio.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-3.19-set_gpio.patch
deleted file mode 100644
index 895caa4449e..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-3.19-set_gpio.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- v4l-dvb-saa716x-d7e98fc59230-orig/linux/drivers/media/common/saa716x/saa716x_budget.c	2014-11-09 15:44:55.000000000 +0100
-+++ v4l-dvb-saa716x-d7e98fc59230/linux/drivers/media/common/saa716x/saa716x_budget.c	2015-02-28 13:58:01.258743639 +0100
-@@ -497,10 +497,10 @@
- 		break;
- 	}
- 
--	err = stv090x_set_gpio(fe, 2, 0, en, 0);
-+	err = skystar2_stv090x_config.set_gpio(fe, 2, 0, en, 0);
- 	if (err < 0)
- 		goto exit;
--	err = stv090x_set_gpio(fe, 3, 0, sel, 0);
-+	err = skystar2_stv090x_config.set_gpio(fe, 3, 0, sel, 0);
- 	if (err < 0)
- 		goto exit;
- 
-@@ -519,7 +519,7 @@
- 	else
- 		value = 0;
- 
--	err = stv090x_set_gpio(fe, 4, 0, value, 0);
-+	err = skystar2_stv090x_config.set_gpio(fe, 4, 0, value, 0);
- 	if (err < 0)
- 		goto exit;
- 

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.10-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.10-fix-compile.patch
deleted file mode 100644
index 4086da102b8..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.10-fix-compile.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/linux/drivers/media/common/saa716x/saa716x_ff.h
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
-@@ -1,7 +1,6 @@
- #ifndef __SAA716x_FF_H
- #define __SAA716x_FF_H
- 
--#include "dvb_filter.h"
- #include "dvb_ringbuffer.h"
- #include <linux/version.h>
- #include <linux/workqueue.h>
-@@ -95,6 +94,7 @@
- #define MAX_RESULT_LEN		256
- #define MAX_DATA_LEN		(1024 * 1024)
- 
-+#define TS_SIZE			188
- #define TSOUT_LEN		(1024 * TS_SIZE)
- #define TSOUT_LEVEL_FILL	(350 * TS_SIZE)
- #define TSOUT_LEVEL_HIGH	(30 * TS_SIZE)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.14.0-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.14.0-fix-compile.patch
deleted file mode 100644
index fce2d517798..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.14.0-fix-compile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:39:20.777643694 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:41:02.135696671 +0100
-@@ -39,7 +39,7 @@
- 	for (i = 0; i < SAA716x_MSI_MAX_VECTORS; i++)
- 		saa716x->msix_entries[i].entry = i;
- 
--	ret = pci_enable_msix(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS);
-+	ret = pci_enable_msix_range(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS, SAA716x_MSI_MAX_VECTORS);
- 	if (ret < 0)
- 		dprintk(SAA716x_ERROR, 1, "MSI-X request failed <%d>", ret);
- 	if (ret > 0)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-autorepeat.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-autorepeat.patch
deleted file mode 100644
index e3a3a737663..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-autorepeat.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-# Source: https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
-
-From 0b2276ee2e6383ad577fce5c694f8c4062d5334b Mon Sep 17 00:00:00 2001
-From: Soeren Moch <smoch@web.de>
-Date: Sat, 2 Dec 2017 20:51:10 +0100
-Subject: [PATCH] saa716x_ff: Remove autorepeat handling
-
-Let the input layer handle autorepeat for the IR remote.
-So no repeat_key timer is required anymore.
-
-Signed-off-by: Soeren Moch <smoch@web.de>
----
- drivers/media/common/saa716x/saa716x_ff_ir.c | 45 ++++++++--------------------
- 1 file changed, 12 insertions(+), 33 deletions(-)
-
-diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
-index 35624789aa862..ad6f38611026c 100644
---- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-@@ -40,7 +40,7 @@ struct infrared {
- 	u8			protocol;
- 	u16			last_key;
- 	u16			last_toggle;
--	bool			delay_timer_finished;
-+	bool			key_pressed;
- };
- 
- #define IR_RC5		0
-@@ -52,11 +52,12 @@ static void ir_emit_keyup(unsigned long parm)
- {
- 	struct infrared *ir = (struct infrared *) parm;
- 
--	if (!ir || !test_bit(ir->last_key, ir->input_dev->key))
-+	if (!ir || !ir->key_pressed)
- 		return;
- 
- 	input_report_key(ir->input_dev, ir->last_key, 0);
- 	input_sync(ir->input_dev);
-+	ir->key_pressed = false;
- }
- 
- 
-@@ -114,28 +115,18 @@ static void ir_emit_key(unsigned long parm)
- 		return;
- 	}
- 
--	if (timer_pending(&ir->keyup_timer)) {
--		del_timer(&ir->keyup_timer);
--		if (ir->last_key != keycode || toggle != ir->last_toggle) {
--			ir->delay_timer_finished = false;
--			input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
--			input_event(ir->input_dev, EV_KEY, keycode, 1);
--			input_sync(ir->input_dev);
--		} else if (ir->delay_timer_finished) {
--			input_event(ir->input_dev, EV_KEY, keycode, 2);
--			input_sync(ir->input_dev);
--		}
--	} else {
--		ir->delay_timer_finished = false;
--		input_event(ir->input_dev, EV_KEY, keycode, 1);
--		input_sync(ir->input_dev);
--	}
-+	if (ir->key_pressed &&
-+	    (ir->last_key != keycode || toggle != ir->last_toggle))
-+		input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
- 
-+	input_event(ir->input_dev, EV_KEY, keycode, 1);
-+	input_sync(ir->input_dev);
-+
-+	ir->key_pressed = true;
- 	ir->last_key = keycode;
- 	ir->last_toggle = toggle;
- 
--	ir->keyup_timer.expires = jiffies + UP_TIMEOUT;
--	add_timer(&ir->keyup_timer);
-+	mod_timer(&ir->keyup_timer, jiffies + UP_TIMEOUT);
- 
- }
- 
-@@ -166,16 +157,6 @@ static void ir_register_keys(struct infrared *ir)
- 	ir->input_dev->keycodemax = ARRAY_SIZE(ir->key_map);
- }
- 
--
--/* called by the input driver after rep[REP_DELAY] ms */
--static void ir_repeat_key(unsigned long parm)
--{
--	struct infrared *ir = (struct infrared *) parm;
--
--	ir->delay_timer_finished = true;
--}
--
--
- /* interrupt handler */
- void saa716x_ir_handler(struct saa716x_dev *saa716x, u32 ir_cmd)
- {
-@@ -236,9 +217,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
- 		ir->key_map[i] = i+1;
- 	ir_register_keys(ir);
- 
--	/* override repeat timer */
--	input_dev->timer.function = ir_repeat_key;
--	input_dev->timer.data = (unsigned long) ir;
-+	input_enable_softrepeat(input_dev, 800, 200);
- 
- 	tasklet_init(&ir->tasklet, ir_emit_key, (unsigned long) saa716x);
- 	saa716x->ir_priv = ir;

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-timers.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-timers.patch
deleted file mode 100644
index 841c32e0515..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.15-fix-timers.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-# Source: https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch
-
-From 1002d79c4ba60de0dbeacba0f289119556d7450d Mon Sep 17 00:00:00 2001
-From: Soeren Moch <smoch@web.de>
-Date: Sat, 2 Dec 2017 21:23:34 +0100
-Subject: [PATCH] saa716x_ff: Convert to new timer API
-
-Convert to new timer API in linux-4.15.
-
-Signed-off-by: Soeren Moch <smoch@web.de>
----
- drivers/media/common/saa716x/saa716x_ff_ir.c | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
-index ad6f38611026c..7894adff4d4f6 100644
---- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-@@ -48,9 +48,9 @@ struct infrared {
- 
- 
- /* key-up timer */
--static void ir_emit_keyup(unsigned long parm)
-+static void ir_emit_keyup(struct timer_list *t)
- {
--	struct infrared *ir = (struct infrared *) parm;
-+	struct infrared *ir = from_timer(ir, t, keyup_timer);
- 
- 	if (!ir || !ir->key_pressed)
- 		return;
-@@ -184,9 +184,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
- 	if (!ir)
- 		return -ENOMEM;
- 
--	init_timer(&ir->keyup_timer);
--	ir->keyup_timer.function = ir_emit_keyup;
--	ir->keyup_timer.data = (unsigned long) ir;
-+	timer_setup(&ir->keyup_timer, ir_emit_keyup, 0);
- 
- 	input_dev = input_allocate_device();
- 	if (!input_dev)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.16-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.16-fix-compile.patch
deleted file mode 100644
index d6e63ef3b5a..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.16-fix-compile.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c
---- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:24:59.454708009 +0200
-+++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:25:36.263560559 +0200
-@@ -1,9 +1,9 @@
- #include <linux/bitops.h>
- 
--#include "dmxdev.h"
--#include "dvbdev.h"
--#include "dvb_demux.h"
--#include "dvb_frontend.h"
-+#include <media/dmxdev.h>
-+#include <media/dvbdev.h>
-+#include <media/dvb_demux.h>
-+#include <media/dvb_frontend.h>
- 
- #include "saa716x_mod.h"
- #include "saa716x_spi.h"
-diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h
---- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:24:59.458708101 +0200
-+++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:25:36.263560559 +0200
-@@ -1,7 +1,7 @@
- #ifndef __SAA716x_FF_H
- #define __SAA716x_FF_H
- 
--#include "dvb_ringbuffer.h"
-+#include <media/dvb_ringbuffer.h>
- #include <linux/version.h>
- #include <linux/workqueue.h>
- 
-diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h
---- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:24:59.458708101 +0200
-+++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:25:36.263560559 +0200
-@@ -18,11 +18,11 @@
- #include "saa716x_spi.h"
- #include "saa716x_vip.h"
- 
--#include "dvbdev.h"
--#include "dvb_demux.h"
--#include "dmxdev.h"
--#include "dvb_frontend.h"
--#include "dvb_net.h"
-+#include <media/dvbdev.h>
-+#include <media/dvb_demux.h>
-+#include <media/dmxdev.h>
-+#include <media/dvb_frontend.h>
-+#include <media/dvb_net.h>
- 
- #define SAA716x_ERROR		0
- #define SAA716x_NOTICE		1

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch
deleted file mode 100644
index 8e418c82868..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-11-08 15:44:10.479886225 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-11-08 15:45:19.981237523 +0100
-@@ -108,6 +108,9 @@
- #define VIDEO_CAPTURE_OFF	0
- #define VIDEO_CAPTURE_ONE_SHOT	1
-
-+#ifndef AUDIO_GET_PTS
-+#define AUDIO_GET_PTS              _IOR('o', 19, __u64)
-+#endif
-
- /* place to store all the necessary device information */
- struct sti7109_dev {

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
deleted file mode 100644
index 392ef258307..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.2-fix-compile.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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/files/v4l-dvb-saa716x-4.5.2-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.5.2-fix-compile.patch
deleted file mode 100644
index ac499acdccb..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.5.2-fix-compile.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-fix compile with kernel >= 4.5.2
-wrt bug 581450
-Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> 2016/05/05
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c.old	2016-04-27 20:59:51.000000000 +0200
-+++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2016-04-27 21:19:03.117822874 +0200
-@@ -1,6 +1,7 @@
- #include <asm/atomic.h>
- #include <linux/spinlock_types.h>
- #include <asm/io.h>
-+#include <asm/processor.h>
- #include <asm/pgtable.h>
- #include <asm/page.h>
- #include <linux/kmod.h>

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.6.0-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.6.0-fix-compile.patch
deleted file mode 100644
index 5aeaabd29af..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.6.0-fix-compile.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:48:27.196949325 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:50:28.149283794 +0100
-@@ -1,9 +1,6 @@
- #include <asm/atomic.h>
- #include <linux/spinlock_types.h>
--#include <asm/io.h>
- #include <asm/processor.h>
--#include <asm/pgtable.h>
--#include <asm/page.h>
- #include <linux/kmod.h>
- #include <linux/vmalloc.h>
- #include <linux/init.h>
-@@ -20,11 +17,6 @@
- 
- #define DRIVER_NAME				"SAA716x Core"
- 
--static irqreturn_t saa716x_msi_handler(int irq, void *dev_id)
--{
--	return IRQ_HANDLED;
--}
--
- static int saa716x_enable_msi(struct saa716x_dev *saa716x)
- {
- 	struct pci_dev *pdev = saa716x->pdev;

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.9-fix-warnings.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.9-fix-warnings.patch
deleted file mode 100644
index a32ab60868a..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-4.9-fix-warnings.patch
+++ /dev/null
@@ -1,146 +0,0 @@
---- a/linux/drivers/media/common/saa716x/saa716x_rom.c	2015-12-29 19:40:55.000000000 +0100
-+++ a/linux/drivers/media/common/saa716x/saa716x_rom.c	2017-07-11 00:51:19.149941914 +0200
-@@ -113,7 +113,7 @@
- 	memcpy(rom_header, &buf[*offset], sizeof (struct saa716x_romhdr));
- 	if (rom_header->header_size != sizeof (struct saa716x_romhdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%zd bytes, Expected=%d",
- 			sizeof (struct saa716x_romhdr),
- 			rom_header->header_size);
- 
-@@ -237,7 +237,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_decoder_hdr));
- 
-@@ -268,7 +268,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_gpio_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_gpio_hdr));
- 
-@@ -305,7 +305,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_video_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_video_decoder_hdr));
- 
-@@ -386,7 +386,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_audio_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_audio_decoder_hdr));
- 
-@@ -417,7 +417,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_evsrc_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_evsrc_hdr));
- 
-@@ -448,7 +448,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_xbar_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_xbar_hdr));
- 
-@@ -486,7 +486,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_tuner_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_tuner_hdr));
- 
-@@ -516,7 +516,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_pll_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_pll_hdr));
- 
-@@ -546,7 +546,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_channel_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_channel_decoder_hdr));
- 
-@@ -576,7 +576,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_encoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_encoder_hdr));
- 
-@@ -606,7 +606,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_ir_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_ir_hdr));
- 
-@@ -637,7 +637,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_eeprom_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_eeprom_hdr));
- 
-@@ -668,7 +668,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_filter_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_filter_hdr));
- 
-@@ -699,7 +699,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_streamdev_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_streamdev_hdr));
- 
-@@ -789,7 +789,7 @@
- 
- 	memcpy(device, &buf[*offset], sizeof (struct saa716x_devinfo));
- 	if (device->struct_size != sizeof (struct saa716x_devinfo)) {
--		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%d bytes",
-+		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%zd bytes",
- 		device->struct_size,
- 		sizeof (struct saa716x_devinfo));
- 

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-Makefilepatch-2.diff b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-Makefilepatch-2.diff
deleted file mode 100644
index 78ba021fb4f..00000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-Makefilepatch-2.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- v4l-dvb-saa716x-cfa4b4faab67/linux/drivers/media/common/saa716x/Makefile.orig	2013-03-02 07:44:51.112642592 +0100
-+++ v4l-dvb-saa716x-cfa4b4faab67/linux/drivers/media/common/saa716x/Makefile	2013-03-02 07:46:56.703138542 +0100
-@@ -24,3 +24,5 @@
- obj-$(CONFIG_DVB_SAA716X_FF)	  += saa716x_ff.o
- 
- EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/ -Idrivers/media/dvb-core/ -Idrivers/media/dvb-frontends/
-+EXTRA_CFLAGS += -Idrivers/media/common/tuners/ # up to kernel 3.6
-+EXTRA_CFLAGS += -Idrivers/media/tuners/        # kernel 3.7+

diff --git a/media-tv/v4l-dvb-saa716x/metadata.xml b/media-tv/v4l-dvb-saa716x/metadata.xml
index 953cd1bea14..bbd5b755d9b 100644
--- a/media-tv/v4l-dvb-saa716x/metadata.xml
+++ b/media-tv/v4l-dvb-saa716x/metadata.xml
@@ -9,9 +9,6 @@
 		<email>proxy-maint@gentoo.org</email>
 		<name>Proxy Maintainers</name>
 	</maintainer>
-	<use>
-		<flag name="firmware">Install firmware</flag>
-	</use>
 	<upstream>
 		<remote-id type="bitbucket">powARman/v4l-dvb-saa716x</remote-id>
 	</upstream>

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r3.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r3.ebuild
deleted file mode 100644
index 331af00aebd..00000000000
--- a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r3.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit linux-info linux-mod
-
-DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
-HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x/overview"
-
-HG_REVISION="3b9fce66666a"
-HG_REVISION_DATE="20160322"
-
-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:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_core(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_budget(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_hybrid(misc:${EROOT%/}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
-
-CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
-
-src_prepare() {
-	default
-
-	eapply -p0 "${FILESDIR}/OSD_RAW_CMD_patch_2.diff"
-	eapply "${FILESDIR}/v4l-dvb-saa716x-Makefilepatch-2.diff"
-	kernel_is ge 3 19 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-3.19-set_gpio.patch"
-	kernel_is ge 4 2 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.2-fix-compile.patch"
-	kernel_is ge 4 5 2 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.5.2-fix-compile.patch"
-	kernel_is ge 4 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.6.0-fix-compile.patch"
-	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.9-fix-warnings.patch"
-	kernel_is ge 4 10 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.10-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 "${EROOT%/}"/usr/src/linux/
-	linux-mod_src_compile
-}

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r4.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r4.ebuild
deleted file mode 100644
index 01a1f825cf7..00000000000
--- a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info linux-mod
-
-DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
-HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x"
-
-REVISION="83f3bfd93a95"
-REVISION_DATE="20160322"
-
-SRC_URI="https://bitbucket.org/powARman/v4l-dvb-saa716x/get/${REVISION}.tar.bz2
--> v4l-dvb-saa716x-0.0.1_p${REVISION_DATE}.tar.bz2"
-
-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-${REVISION}"
-
-BUILD_TARGETS="modules"
-MODULE_NAMES="
-	saa716x_ff(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_core(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_budget(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_hybrid(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
-
-CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
-
-src_prepare() {
-	default
-
-	eapply -p0 "${FILESDIR}/OSD_RAW_CMD_patch_2.diff"
-	eapply "${FILESDIR}/v4l-dvb-saa716x-Makefilepatch-2.diff"
-	kernel_is ge 3 19 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-3.19-set_gpio.patch"
-	kernel_is ge 4 2 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.2-fix-compile.patch"
-	kernel_is ge 4 5 2 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.5.2-fix-compile.patch"
-	kernel_is ge 4 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.6.0-fix-compile.patch"
-	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.9-fix-warnings.patch"
-	kernel_is ge 4 10 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.10-fix-compile.patch"
-	kernel_is ge 4 14 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.14.0-fix-compile.patch"
-	kernel_is ge 4 15 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.15-fix-autorepeat.patch"
-	kernel_is ge 4 15 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.15-fix-timers.patch"
-	kernel_is ge 4 16 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.16-fix-compile.patch"
-	kernel_is ge 4 17 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch"
-}
-
-src_compile() {
-	kernel_is le 5 0 && BUILD_PARAMS="SUBDIRS" || BUILD_PARAMS="M"
-	BUILD_PARAMS+="=${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 "${EROOT}"/usr/src/linux/
-	linux-mod_src_compile
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/
@ 2024-02-15 13:13 Mike Pagano
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Pagano @ 2024-02-15 13:13 UTC (permalink / raw
  To: gentoo-commits

commit:     44752c7420c7e7fd107ad59b8014230a8e30eb54
Author:     Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Sun Feb 11 21:26:43 2024 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Thu Feb 15 13:13:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44752c74

media-tv/v4l-dvb-saa716x: migrate to linux-mod-r1.eclass

migrate to linux-mod-r1.eclass
fix compile for kernel >= 5.18
concatenate kernel patches for current kernel versions
fix pkgscan error about ${EROOT}

Closes: https://bugs.gentoo.org/908713
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/35311
Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>

 .../files/v4l-dvb-saa716x-5.18-fix-compile.patch   |  84 ++++
 .../files/v4l-dvb-saa716x-5.6-fix-compile.patch    |  38 --
 .../files/v4l-dvb-saa716x-up-to-4.14.patch         |  32 --
 .../files/v4l-dvb-saa716x-up-to-4.17.patch         | 217 --------
 .../files/v4l-dvb-saa716x-up-to-4.4.patch          |  97 ----
 .../files/v4l-dvb-saa716x-up-to-4.9.patch          | 192 -------
 .../files/v4l-dvb-saa716x-up-to-5.6.patch          | 560 +++++++++++++++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild      |  50 --
 .../v4l-dvb-saa716x-0.0.1_p20170225-r6.ebuild      |  45 ++
 9 files changed, 689 insertions(+), 626 deletions(-)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.18-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.18-fix-compile.patch
new file mode 100644
index 000000000000..3e0ad5b7cc30
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.18-fix-compile.patch
@@ -0,0 +1,84 @@
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_budget.c.orig	2024-02-04 09:44:55.817082316 +0100
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_budget.c	2024-02-04 10:00:19.630031631 +0100
+@@ -268,10 +268,10 @@
+	do {
+		u8 *data = (u8 *)fgpi_entry->dma_buf[fgpi_entry->read_index].mem_virt;
+
+-		pci_dma_sync_sg_for_cpu(saa716x->pdev,
++		dma_sync_sg_for_cpu(&saa716x->pdev->dev,
+			fgpi_entry->dma_buf[fgpi_entry->read_index].sg_list,
+			fgpi_entry->dma_buf[fgpi_entry->read_index].list_len,
+-			PCI_DMA_FROMDEVICE);
++			DMA_FROM_DEVICE);
+
+		dvb_dmx_swfilter(demux, data, 348 * 188);
+
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_hybrid.c.orig	2024-02-04 09:54:31.756421321 +0100
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_hybrid.c	2024-02-04 09:59:49.043925659 +0100
+@@ -283,10 +283,10 @@
+	do {
+		u8 *data = (u8 *)fgpi_entry->dma_buf[fgpi_entry->read_index].mem_virt;
+
+-		pci_dma_sync_sg_for_cpu(saa716x->pdev,
++		dma_sync_sg_for_cpu(&saa716x->pdev->dev,
+			fgpi_entry->dma_buf[fgpi_entry->read_index].sg_list,
+			fgpi_entry->dma_buf[fgpi_entry->read_index].list_len,
+-			PCI_DMA_FROMDEVICE);
++			DMA_FROM_DEVICE);
+
+		dvb_dmx_swfilter(demux, data, 348 * 188);
+
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_pci.c.orig	2024-02-04 09:27:44.356023812 +0100
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_pci.c	2024-02-04 09:35:33.867498244 +0100
+@@ -149,14 +149,14 @@
+		goto fail0;
+	}
+
+-	if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
++	if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) {
+		use_dac = 1;
+-		err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
++		err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64));
+		if (err) {
+			dprintk(SAA716x_ERROR, 1, "Unable to obtain 64bit DMA");
+			goto fail1;
+		}
+-	} else if ((err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) != 0) {
++	} else if ((err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32))) != 0) {
+		dprintk(SAA716x_ERROR, 1, "Unable to obtain 32bit DMA");
+		goto fail1;
+	}
+--- powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_ff_main.c.orig	2024-02-04 09:46:17.092236435 +0100
++++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_ff_main.c	2024-02-04 10:01:59.274872910 +0100
+@@ -624,15 +624,15 @@
+	}
+
+	do {
+-		pci_dma_sync_sg_for_cpu(saa716x->pdev,
++		dma_sync_sg_for_cpu(&saa716x->pdev->dev,
+			vip_entry->dma_buf[0][vip_entry->read_index].sg_list,
+			vip_entry->dma_buf[0][vip_entry->read_index].list_len,
+-			PCI_DMA_FROMDEVICE);
++			DMA_FROM_DEVICE);
+		if (vip_entry->dual_channel) {
+-			pci_dma_sync_sg_for_cpu(saa716x->pdev,
++			dma_sync_sg_for_cpu(&saa716x->pdev->dev,
+				vip_entry->dma_buf[1][vip_entry->read_index].sg_list,
+				vip_entry->dma_buf[1][vip_entry->read_index].list_len,
+-				PCI_DMA_FROMDEVICE);
++				DMA_FROM_DEVICE);
+		}
+
+		vip_entry->read_index = (vip_entry->read_index + 1) & 7;
+@@ -1321,10 +1321,10 @@
+	do {
+		u8 *data = (u8 *)fgpi_entry->dma_buf[fgpi_entry->read_index].mem_virt;
+
+-		pci_dma_sync_sg_for_cpu(saa716x->pdev,
++		dma_sync_sg_for_cpu(&saa716x->pdev->dev,
+			fgpi_entry->dma_buf[fgpi_entry->read_index].sg_list,
+			fgpi_entry->dma_buf[fgpi_entry->read_index].list_len,
+-			PCI_DMA_FROMDEVICE);
++			DMA_FROM_DEVICE);
+
+		dvb_dmx_swfilter(demux, data, 348 * 188);

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.6-fix-compile.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.6-fix-compile.patch
deleted file mode 100644
index 6a72c06ae55e..000000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-5.6-fix-compile.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Naur powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_ff_phi.c powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_ff_phi.c
---- powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_ff_phi.c	2015-12-29 19:40:55.000000000 +0100
-+++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_ff_phi.c	2020-10-04 11:40:59.830329660 +0200
-@@ -41,7 +41,7 @@
- 	}
- 
- 	/* skip first PHI window as it is already mapped */
--	sti7109->mmio_uc = ioremap_nocache(phi1_start + 0x10000, 0x30000);
-+	sti7109->mmio_uc = ioremap(phi1_start + 0x10000, 0x30000);
- 	if (!sti7109->mmio_uc) {
- 		dprintk(SAA716x_ERROR, 1, "Mem PHI1 remap failed");
- 		err = -ENODEV;
-diff -Naur powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_pci.c powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_pci.c
---- powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/linux/drivers/media/common/saa716x/saa716x_pci.c	2020-10-04 11:38:55.811653278 +0200
-+++ powARman-v4l-dvb-saa716x-83f3bfd93a95/linux/drivers/media/common/saa716x/saa716x_pci.c	2020-10-04 11:40:34.557784199 +0200
-@@ -185,7 +185,7 @@
- 		goto fail2;
- 	}
- 
--	saa716x->mmio = ioremap_nocache(pci_resource_start(pdev, 0), 0x30000);
-+	saa716x->mmio = ioremap(pci_resource_start(pdev, 0), 0x30000);
- 	if (!saa716x->mmio) {
- 		dprintk(SAA716x_ERROR, 1, "Mem 0 remap failed");
- 		ret = -ENODEV;
-diff -Naur powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/v4l/compat.h powARman-v4l-dvb-saa716x-83f3bfd93a95/v4l/compat.h
---- powARman-v4l-dvb-saa716x-83f3bfd93a95.orig/v4l/compat.h	2015-12-29 19:40:55.000000000 +0100
-+++ powARman-v4l-dvb-saa716x-83f3bfd93a95/v4l/compat.h	2020-10-04 11:41:58.379593434 +0200
-@@ -571,8 +571,8 @@
- 
- #ifdef NEED_PCI_IOREMAP_BAR
- #define pci_ioremap_bar(pdev, bar) \
--	 ioremap_nocache(pci_resource_start(pdev, bar),	\
--			 pci_resource_len(pdev, bar))
-+	 ioremap(pci_resource_start(pdev, bar),	\
-+		 pci_resource_len(pdev, bar))
- #endif
- 
- #ifdef NEED_POLL_SCHEDULE

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.14.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.14.patch
deleted file mode 100644
index 8abe888ff0e2..000000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.14.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-# file v4l-dvb-saa716x-4.10-fix-compile.patch
---- a/linux/drivers/media/common/saa716x/saa716x_ff.h
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
-@@ -1,7 +1,6 @@
- #ifndef __SAA716x_FF_H
- #define __SAA716x_FF_H
- 
--#include "dvb_filter.h"
- #include "dvb_ringbuffer.h"
- #include <linux/version.h>
- #include <linux/workqueue.h>
-@@ -95,6 +94,7 @@
- #define MAX_RESULT_LEN		256
- #define MAX_DATA_LEN		(1024 * 1024)
- 
-+#define TS_SIZE			188
- #define TSOUT_LEN		(1024 * TS_SIZE)
- #define TSOUT_LEVEL_FILL	(350 * TS_SIZE)
- #define TSOUT_LEVEL_HIGH	(30 * TS_SIZE)
-
-# file v4l-dvb-saa716x-4.14.0-fix-compile.patch
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:39:20.777643694 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2018-03-24 11:41:02.135696671 +0100
-@@ -39,7 +39,7 @@
- 	for (i = 0; i < SAA716x_MSI_MAX_VECTORS; i++)
- 		saa716x->msix_entries[i].entry = i;
- 
--	ret = pci_enable_msix(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS);
-+	ret = pci_enable_msix_range(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS, SAA716x_MSI_MAX_VECTORS);
- 	if (ret < 0)
- 		dprintk(SAA716x_ERROR, 1, "MSI-X request failed <%d>", ret);
- 	if (ret > 0)

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.17.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.17.patch
deleted file mode 100644
index 58bae509ec85..000000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.17.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-# file v4l-dvb-saa716x-4.15-fix-autorepeat.patch
-
-# Source: https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
-
-From 0b2276ee2e6383ad577fce5c694f8c4062d5334b Mon Sep 17 00:00:00 2001
-From: Soeren Moch <smoch@web.de>
-Date: Sat, 2 Dec 2017 20:51:10 +0100
-Subject: [PATCH] saa716x_ff: Remove autorepeat handling
-
-Let the input layer handle autorepeat for the IR remote.
-So no repeat_key timer is required anymore.
-
-Signed-off-by: Soeren Moch <smoch@web.de>
----
- drivers/media/common/saa716x/saa716x_ff_ir.c | 45 ++++++++--------------------
- 1 file changed, 12 insertions(+), 33 deletions(-)
-
-diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
-index 35624789aa862..ad6f38611026c 100644
---- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-@@ -40,7 +40,7 @@ struct infrared {
- 	u8			protocol;
- 	u16			last_key;
- 	u16			last_toggle;
--	bool			delay_timer_finished;
-+	bool			key_pressed;
- };
- 
- #define IR_RC5		0
-@@ -52,11 +52,12 @@ static void ir_emit_keyup(unsigned long parm)
- {
- 	struct infrared *ir = (struct infrared *) parm;
- 
--	if (!ir || !test_bit(ir->last_key, ir->input_dev->key))
-+	if (!ir || !ir->key_pressed)
- 		return;
- 
- 	input_report_key(ir->input_dev, ir->last_key, 0);
- 	input_sync(ir->input_dev);
-+	ir->key_pressed = false;
- }
- 
- 
-@@ -114,28 +115,18 @@ static void ir_emit_key(unsigned long parm)
- 		return;
- 	}
- 
--	if (timer_pending(&ir->keyup_timer)) {
--		del_timer(&ir->keyup_timer);
--		if (ir->last_key != keycode || toggle != ir->last_toggle) {
--			ir->delay_timer_finished = false;
--			input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
--			input_event(ir->input_dev, EV_KEY, keycode, 1);
--			input_sync(ir->input_dev);
--		} else if (ir->delay_timer_finished) {
--			input_event(ir->input_dev, EV_KEY, keycode, 2);
--			input_sync(ir->input_dev);
--		}
--	} else {
--		ir->delay_timer_finished = false;
--		input_event(ir->input_dev, EV_KEY, keycode, 1);
--		input_sync(ir->input_dev);
--	}
-+	if (ir->key_pressed &&
-+	    (ir->last_key != keycode || toggle != ir->last_toggle))
-+		input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
- 
-+	input_event(ir->input_dev, EV_KEY, keycode, 1);
-+	input_sync(ir->input_dev);
-+
-+	ir->key_pressed = true;
- 	ir->last_key = keycode;
- 	ir->last_toggle = toggle;
- 
--	ir->keyup_timer.expires = jiffies + UP_TIMEOUT;
--	add_timer(&ir->keyup_timer);
-+	mod_timer(&ir->keyup_timer, jiffies + UP_TIMEOUT);
- 
- }
- 
-@@ -166,16 +157,6 @@ static void ir_register_keys(struct infrared *ir)
- 	ir->input_dev->keycodemax = ARRAY_SIZE(ir->key_map);
- }
- 
--
--/* called by the input driver after rep[REP_DELAY] ms */
--static void ir_repeat_key(unsigned long parm)
--{
--	struct infrared *ir = (struct infrared *) parm;
--
--	ir->delay_timer_finished = true;
--}
--
--
- /* interrupt handler */
- void saa716x_ir_handler(struct saa716x_dev *saa716x, u32 ir_cmd)
- {
-@@ -236,9 +217,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
- 		ir->key_map[i] = i+1;
- 	ir_register_keys(ir);
- 
--	/* override repeat timer */
--	input_dev->timer.function = ir_repeat_key;
--	input_dev->timer.data = (unsigned long) ir;
-+	input_enable_softrepeat(input_dev, 800, 200);
- 
- 	tasklet_init(&ir->tasklet, ir_emit_key, (unsigned long) saa716x);
- 	saa716x->ir_priv = ir;
-
-# file v4l-dvb-saa716x-4.15-fix-timers.patch
-# Source: https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch
-
-From 1002d79c4ba60de0dbeacba0f289119556d7450d Mon Sep 17 00:00:00 2001
-From: Soeren Moch <smoch@web.de>
-Date: Sat, 2 Dec 2017 21:23:34 +0100
-Subject: [PATCH] saa716x_ff: Convert to new timer API
-
-Convert to new timer API in linux-4.15.
-
-Signed-off-by: Soeren Moch <smoch@web.de>
----
- drivers/media/common/saa716x/saa716x_ff_ir.c | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/media/common/saa716x/saa716x_ff_ir.c b/drivers/media/common/saa716x/saa716x_ff_ir.c
-index ad6f38611026c..7894adff4d4f6 100644
---- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
-@@ -48,9 +48,9 @@ struct infrared {
- 
- 
- /* key-up timer */
--static void ir_emit_keyup(unsigned long parm)
-+static void ir_emit_keyup(struct timer_list *t)
- {
--	struct infrared *ir = (struct infrared *) parm;
-+	struct infrared *ir = from_timer(ir, t, keyup_timer);
- 
- 	if (!ir || !ir->key_pressed)
- 		return;
-@@ -184,9 +184,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
- 	if (!ir)
- 		return -ENOMEM;
- 
--	init_timer(&ir->keyup_timer);
--	ir->keyup_timer.function = ir_emit_keyup;
--	ir->keyup_timer.data = (unsigned long) ir;
-+	timer_setup(&ir->keyup_timer, ir_emit_keyup, 0);
- 
- 	input_dev = input_allocate_device();
- 	if (!input_dev)
-
-# file v4l-dvb-saa716x-4.16-fix-compile.patch
-diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c
---- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:24:59.454708009 +0200
-+++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_adap.c	2018-04-04 08:25:36.263560559 +0200
-@@ -1,9 +1,9 @@
- #include <linux/bitops.h>
- 
--#include "dmxdev.h"
--#include "dvbdev.h"
--#include "dvb_demux.h"
--#include "dvb_frontend.h"
-+#include <media/dmxdev.h>
-+#include <media/dvbdev.h>
-+#include <media/dvb_demux.h>
-+#include <media/dvb_frontend.h>
- 
- #include "saa716x_mod.h"
- #include "saa716x_spi.h"
-diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h
---- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:24:59.458708101 +0200
-+++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-04-04 08:25:36.263560559 +0200
-@@ -1,7 +1,7 @@
- #ifndef __SAA716x_FF_H
- #define __SAA716x_FF_H
- 
--#include "dvb_ringbuffer.h"
-+#include <media/dvb_ringbuffer.h>
- #include <linux/version.h>
- #include <linux/workqueue.h>
- 
-diff -Naur powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h
---- powARman-v4l-dvb-saa716x-3b9fce66666a.orig/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:24:59.458708101 +0200
-+++ powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media/common/saa716x/saa716x_priv.h	2018-04-04 08:25:36.263560559 +0200
-@@ -18,11 +18,11 @@
- #include "saa716x_spi.h"
- #include "saa716x_vip.h"
- 
--#include "dvbdev.h"
--#include "dvb_demux.h"
--#include "dmxdev.h"
--#include "dvb_frontend.h"
--#include "dvb_net.h"
-+#include <media/dvbdev.h>
-+#include <media/dvb_demux.h>
-+#include <media/dmxdev.h>
-+#include <media/dvb_frontend.h>
-+#include <media/dvb_net.h>
- 
- #define SAA716x_ERROR		0
- #define SAA716x_NOTICE		1
-
-# file v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch
---- a/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-11-08 15:44:10.479886225 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff.h	2018-11-08 15:45:19.981237523 +0100
-@@ -108,6 +108,9 @@
- #define VIDEO_CAPTURE_OFF	0
- #define VIDEO_CAPTURE_ONE_SHOT	1
-
-+#ifndef AUDIO_GET_PTS
-+#define AUDIO_GET_PTS              _IOR('o', 19, __u64)
-+#endif
-
- /* place to store all the necessary device information */
- struct sti7109_dev {

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.4.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.4.patch
deleted file mode 100644
index e719f4d629e2..000000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.4.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-# file OSD_RAW_CMD_patch_2.diff
---- a/linux/drivers/media/common/saa716x/saa716x_ff_cmd.h.orig	2011-11-12 14:46:51.175700236 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_ff_cmd.h	2011-11-12 14:45:10.103702959 +0100
-@@ -1,6 +1,24 @@
- #ifndef __SAA716x_FF_CMD_H
- #define __SAA716x_FF_CMD_H
- 
-+#if !defined OSD_RAW_CMD
-+typedef struct osd_raw_cmd_s {
-+    const void *cmd_data;
-+    int cmd_len;
-+    void *result_data;
-+    int result_len;
-+} osd_raw_cmd_t;
-+
-+typedef struct osd_raw_data_s {
-+    const void *data_buffer;
-+    int data_length;
-+    int data_handle;
-+} osd_raw_data_t;
-+
-+#define OSD_RAW_CMD            _IOWR('o', 162, osd_raw_cmd_t)
-+#define OSD_RAW_DATA           _IOWR('o', 163, osd_raw_data_t)
-+#endif
-+
- extern int sti7109_cmd_init(struct sti7109_dev *sti7109);
- extern int sti7109_raw_cmd(struct sti7109_dev * sti7109,
- 			   osd_raw_cmd_t * cmd);
-
-# file v4l-dvb-saa716x-Makefilepatch-2.diff
---- v4l-dvb-saa716x-cfa4b4faab67/linux/drivers/media/common/saa716x/Makefile.orig	2013-03-02 07:44:51.112642592 +0100
-+++ v4l-dvb-saa716x-cfa4b4faab67/linux/drivers/media/common/saa716x/Makefile	2013-03-02 07:46:56.703138542 +0100
-@@ -24,3 +24,5 @@
- obj-$(CONFIG_DVB_SAA716X_FF)	  += saa716x_ff.o
- 
- EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/ -Idrivers/media/dvb-core/ -Idrivers/media/dvb-frontends/
-+EXTRA_CFLAGS += -Idrivers/media/common/tuners/ # up to kernel 3.6
-+EXTRA_CFLAGS += -Idrivers/media/tuners/        # kernel 3.7+
-
-
-# file v4l-dvb-saa716x-3.19-set_gpio.patch
---- a/linux/drivers/media/common/saa716x/saa716x_budget.c	2014-11-09 15:44:55.000000000 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_budget.c	2015-02-28 13:58:01.258743639 +0100
-@@ -497,10 +497,10 @@
- 		break;
- 	}
- 
--	err = stv090x_set_gpio(fe, 2, 0, en, 0);
-+	err = skystar2_stv090x_config.set_gpio(fe, 2, 0, en, 0);
- 	if (err < 0)
- 		goto exit;
--	err = stv090x_set_gpio(fe, 3, 0, sel, 0);
-+	err = skystar2_stv090x_config.set_gpio(fe, 3, 0, sel, 0);
- 	if (err < 0)
- 		goto exit;
- 
-@@ -519,7 +519,7 @@
- 	else
- 		value = 0;
- 
--	err = stv090x_set_gpio(fe, 4, 0, value, 0);
-+	err = skystar2_stv090x_config.set_gpio(fe, 4, 0, value, 0);
- 	if (err < 0)
- 		goto exit;
- 
-# file v4l-dvb-saa716x-4.2-fix-compile.patch
---- a/linux/drivers/media/common/saa716x/saa716x_budget.c	2015-09-03 00:30:08.662553247 +0200
-+++ b/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;
- 
---- a/linux/drivers/media/common/saa716x/saa716x_hybrid.c	2014-11-09 15:44:55.000000000 +0100
-+++ b/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;
- 
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2014-11-09 15:44:55.000000000 +0100
-+++ b/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/files/v4l-dvb-saa716x-up-to-4.9.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.9.patch
deleted file mode 100644
index 72c27974bfd2..000000000000
--- a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-4.9.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-# file v4l-dvb-saa716x-4.5.2-fix-compile.patch
-fix compile with kernel >= 4.5.2
-wrt bug 581450
-Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> 2016/05/05
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c.old	2016-04-27 20:59:51.000000000 +0200
-+++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2016-04-27 21:19:03.117822874 +0200
-@@ -1,6 +1,7 @@
- #include <asm/atomic.h>
- #include <linux/spinlock_types.h>
- #include <asm/io.h>
-+#include <asm/processor.h>
- #include <asm/pgtable.h>
- #include <asm/page.h>
- #include <linux/kmod.h>
-
-
-
-# file v4l-dvb-saa716x-4.6.0-fix-compile.patch
---- a/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:48:27.196949325 +0100
-+++ b/linux/drivers/media/common/saa716x/saa716x_pci.c	2017-02-26 18:50:28.149283794 +0100
-@@ -1,9 +1,6 @@
- #include <asm/atomic.h>
- #include <linux/spinlock_types.h>
--#include <asm/io.h>
- #include <asm/processor.h>
--#include <asm/pgtable.h>
--#include <asm/page.h>
- #include <linux/kmod.h>
- #include <linux/vmalloc.h>
- #include <linux/init.h>
-@@ -20,11 +17,6 @@
- 
- #define DRIVER_NAME				"SAA716x Core"
- 
--static irqreturn_t saa716x_msi_handler(int irq, void *dev_id)
--{
--	return IRQ_HANDLED;
--}
--
- static int saa716x_enable_msi(struct saa716x_dev *saa716x)
- {
- 	struct pci_dev *pdev = saa716x->pdev;
-
-
-
-# file v4l-dvb-saa716x-4.9-fix-warnings.patch
---- a/linux/drivers/media/common/saa716x/saa716x_rom.c	2015-12-29 19:40:55.000000000 +0100
-+++ a/linux/drivers/media/common/saa716x/saa716x_rom.c	2017-07-11 00:51:19.149941914 +0200
-@@ -113,7 +113,7 @@
- 	memcpy(rom_header, &buf[*offset], sizeof (struct saa716x_romhdr));
- 	if (rom_header->header_size != sizeof (struct saa716x_romhdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%zd bytes, Expected=%d",
- 			sizeof (struct saa716x_romhdr),
- 			rom_header->header_size);
- 
-@@ -237,7 +237,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_decoder_hdr));
- 
-@@ -268,7 +268,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_gpio_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_gpio_hdr));
- 
-@@ -305,7 +305,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_video_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_video_decoder_hdr));
- 
-@@ -386,7 +386,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_audio_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_audio_decoder_hdr));
- 
-@@ -417,7 +417,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_evsrc_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_evsrc_hdr));
- 
-@@ -448,7 +448,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_xbar_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_xbar_hdr));
- 
-@@ -486,7 +486,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_tuner_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_tuner_hdr));
- 
-@@ -516,7 +516,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_pll_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_pll_hdr));
- 
-@@ -546,7 +546,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_channel_decoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_channel_decoder_hdr));
- 
-@@ -576,7 +576,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_encoder_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_encoder_hdr));
- 
-@@ -606,7 +606,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_ir_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_ir_hdr));
- 
-@@ -637,7 +637,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_eeprom_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_eeprom_hdr));
- 
-@@ -668,7 +668,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_filter_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_filter_hdr));
- 
-@@ -699,7 +699,7 @@
- 	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
- 	if (header.size != sizeof (struct saa716x_streamdev_hdr)) {
- 		dprintk(SAA716x_ERROR, 1,
--			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
-+			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
- 			header.size,
- 			sizeof (struct saa716x_streamdev_hdr));
- 
-@@ -789,7 +789,7 @@
- 
- 	memcpy(device, &buf[*offset], sizeof (struct saa716x_devinfo));
- 	if (device->struct_size != sizeof (struct saa716x_devinfo)) {
--		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%d bytes",
-+		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%zd bytes",
- 		device->struct_size,
- 		sizeof (struct saa716x_devinfo));
- 

diff --git a/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-5.6.patch b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-5.6.patch
new file mode 100644
index 000000000000..94441988affa
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/files/v4l-dvb-saa716x-up-to-5.6.patch
@@ -0,0 +1,560 @@
+# file OSD_RAW_CMD_patch_2.diff
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_cmd.h.orig
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_cmd.h
+@@ -1,6 +1,24 @@
+ #ifndef __SAA716x_FF_CMD_H
+ #define __SAA716x_FF_CMD_H
+
++#if !defined OSD_RAW_CMD
++typedef struct osd_raw_cmd_s {
++    const void *cmd_data;
++    int cmd_len;
++    void *result_data;
++    int result_len;
++} osd_raw_cmd_t;
++
++typedef struct osd_raw_data_s {
++    const void *data_buffer;
++    int data_length;
++    int data_handle;
++} osd_raw_data_t;
++
++#define OSD_RAW_CMD            _IOWR('o', 162, osd_raw_cmd_t)
++#define OSD_RAW_DATA           _IOWR('o', 163, osd_raw_data_t)
++#endif
++
+ extern int sti7109_cmd_init(struct sti7109_dev *sti7109);
+ extern int sti7109_raw_cmd(struct sti7109_dev * sti7109,
+			   osd_raw_cmd_t * cmd);
+
+# file v4l-dvb-saa716x-Makefilepatch-2.diff
+--- a/linux/drivers/media/common/saa716x/Makefile
++++ b/linux/drivers/media/common/saa716x/Makefile
+@@ -24,3 +24,5 @@
+ obj-$(CONFIG_DVB_SAA716X_FF)	  += saa716x_ff.o
+
+ EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/ -Idrivers/media/dvb-core/ -Idrivers/media/dvb-frontends/
++EXTRA_CFLAGS += -Idrivers/media/common/tuners/ # up to kernel 3.6
++EXTRA_CFLAGS += -Idrivers/media/tuners/        # kernel 3.7+
+
+
+# file v4l-dvb-saa716x-3.19-set_gpio.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_budget.c
++++ b/linux/drivers/media/common/saa716x/saa716x_budget.c
+@@ -497,10 +497,10 @@
+		break;
+	}
+
+-	err = stv090x_set_gpio(fe, 2, 0, en, 0);
++	err = skystar2_stv090x_config.set_gpio(fe, 2, 0, en, 0);
+	if (err < 0)
+		goto exit;
+-	err = stv090x_set_gpio(fe, 3, 0, sel, 0);
++	err = skystar2_stv090x_config.set_gpio(fe, 3, 0, sel, 0);
+	if (err < 0)
+		goto exit;
+
+@@ -519,7 +519,7 @@
+	else
+		value = 0;
+
+-	err = stv090x_set_gpio(fe, 4, 0, value, 0);
++	err = skystar2_stv090x_config.set_gpio(fe, 4, 0, value, 0);
+	if (err < 0)
+		goto exit;
+
+# file v4l-dvb-saa716x-4.2-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_budget.c
++++ b/linux/drivers/media/common/saa716x/saa716x_budget.c
+@@ -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;
+
+--- a/linux/drivers/media/common/saa716x/saa716x_hybrid.c
++++ b/linux/drivers/media/common/saa716x/saa716x_hybrid.c
+@@ -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;
+
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c
+@@ -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>
+
+# file v4l-dvb-saa716x-4.5.2-fix-compile.patch
+fix compile with kernel >= 4.5.2
+wrt bug 581450
+Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> 2016/05/05
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c
+@@ -1,6 +1,7 @@
+ #include <asm/atomic.h>
+ #include <linux/spinlock_types.h>
+ #include <asm/io.h>
++#include <asm/processor.h>
+ #include <asm/pgtable.h>
+ #include <asm/page.h>
+ #include <linux/kmod.h>
+
+
+
+# file v4l-dvb-saa716x-4.6.0-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c
+@@ -1,9 +1,6 @@
+ #include <asm/atomic.h>
+ #include <linux/spinlock_types.h>
+-#include <asm/io.h>
+ #include <asm/processor.h>
+-#include <asm/pgtable.h>
+-#include <asm/page.h>
+ #include <linux/kmod.h>
+ #include <linux/vmalloc.h>
+ #include <linux/init.h>
+@@ -20,11 +17,6 @@
+
+ #define DRIVER_NAME				"SAA716x Core"
+
+-static irqreturn_t saa716x_msi_handler(int irq, void *dev_id)
+-{
+-	return IRQ_HANDLED;
+-}
+-
+ static int saa716x_enable_msi(struct saa716x_dev *saa716x)
+ {
+	struct pci_dev *pdev = saa716x->pdev;
+
+
+
+# file v4l-dvb-saa716x-4.9-fix-warnings.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_rom.c
++++ a/linux/drivers/media/common/saa716x/saa716x_rom.c
+@@ -113,7 +113,7 @@
+	memcpy(rom_header, &buf[*offset], sizeof (struct saa716x_romhdr));
+	if (rom_header->header_size != sizeof (struct saa716x_romhdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%zd bytes, Expected=%d",
+			sizeof (struct saa716x_romhdr),
+			rom_header->header_size);
+
+@@ -237,7 +237,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_decoder_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_decoder_hdr));
+
+@@ -268,7 +268,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_gpio_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_gpio_hdr));
+
+@@ -305,7 +305,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_video_decoder_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_video_decoder_hdr));
+
+@@ -386,7 +386,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_audio_decoder_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_audio_decoder_hdr));
+
+@@ -417,7 +417,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_evsrc_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_evsrc_hdr));
+
+@@ -448,7 +448,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_xbar_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_xbar_hdr));
+
+@@ -486,7 +486,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_tuner_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_tuner_hdr));
+
+@@ -516,7 +516,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_pll_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_pll_hdr));
+
+@@ -546,7 +546,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_channel_decoder_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_channel_decoder_hdr));
+
+@@ -576,7 +576,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_encoder_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_encoder_hdr));
+
+@@ -606,7 +606,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_ir_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_ir_hdr));
+
+@@ -637,7 +637,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_eeprom_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_eeprom_hdr));
+
+@@ -668,7 +668,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_filter_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_filter_hdr));
+
+@@ -699,7 +699,7 @@
+	saa716x_descriptor_dbg(saa716x, buf, offset, header.size, header.ext_data);
+	if (header.size != sizeof (struct saa716x_streamdev_hdr)) {
+		dprintk(SAA716x_ERROR, 1,
+-			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%d",
++			"ERROR: Header size mismatch! Read size=%d bytes, Expected=%zd",
+			header.size,
+			sizeof (struct saa716x_streamdev_hdr));
+
+@@ -789,7 +789,7 @@
+
+	memcpy(device, &buf[*offset], sizeof (struct saa716x_devinfo));
+	if (device->struct_size != sizeof (struct saa716x_devinfo)) {
+-		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%d bytes",
++		dprintk(SAA716x_ERROR, 1, "ERROR: Device size mismatch! Read=%d bytes, expected=%zd bytes",
+		device->struct_size,
+		sizeof (struct saa716x_devinfo));
+
+# file v4l-dvb-saa716x-4.10-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_ff.h
++++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
+@@ -1,7 +1,6 @@
+ #ifndef __SAA716x_FF_H
+ #define __SAA716x_FF_H
+
+-#include "dvb_filter.h"
+ #include "dvb_ringbuffer.h"
+ #include <linux/version.h>
+ #include <linux/workqueue.h>
+@@ -95,6 +94,7 @@
+ #define MAX_RESULT_LEN		256
+ #define MAX_DATA_LEN		(1024 * 1024)
+
++#define TS_SIZE			188
+ #define TSOUT_LEN		(1024 * TS_SIZE)
+ #define TSOUT_LEVEL_FILL	(350 * TS_SIZE)
+ #define TSOUT_LEVEL_HIGH	(30 * TS_SIZE)
+
+# file v4l-dvb-saa716x-4.14.0-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c
+@@ -39,7 +39,7 @@
+	for (i = 0; i < SAA716x_MSI_MAX_VECTORS; i++)
+		saa716x->msix_entries[i].entry = i;
+
+-	ret = pci_enable_msix(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS);
++	ret = pci_enable_msix_range(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS, SAA716x_MSI_MAX_VECTORS);
+	if (ret < 0)
+		dprintk(SAA716x_ERROR, 1, "MSI-X request failed <%d>", ret);
+	if (ret > 0)
+# file v4l-dvb-saa716x-4.15-fix-autorepeat.patch
+
+# Source: https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
+
+From 0b2276ee2e6383ad577fce5c694f8c4062d5334b Mon Sep 17 00:00:00 2001
+From: Soeren Moch <smoch@web.de>
+Date: Sat, 2 Dec 2017 20:51:10 +0100
+Subject: [PATCH] saa716x_ff: Remove autorepeat handling
+
+Let the input layer handle autorepeat for the IR remote.
+So no repeat_key timer is required anymore.
+
+Signed-off-by: Soeren Moch <smoch@web.de>
+---
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
+@@ -40,7 +40,7 @@ struct infrared {
+	u8			protocol;
+	u16			last_key;
+	u16			last_toggle;
+-	bool			delay_timer_finished;
++	bool			key_pressed;
+ };
+
+ #define IR_RC5		0
+@@ -52,11 +52,12 @@ static void ir_emit_keyup(unsigned long parm)
+ {
+	struct infrared *ir = (struct infrared *) parm;
+
+-	if (!ir || !test_bit(ir->last_key, ir->input_dev->key))
++	if (!ir || !ir->key_pressed)
+		return;
+
+	input_report_key(ir->input_dev, ir->last_key, 0);
+	input_sync(ir->input_dev);
++	ir->key_pressed = false;
+ }
+
+
+@@ -114,28 +115,18 @@ static void ir_emit_key(unsigned long parm)
+		return;
+	}
+
+-	if (timer_pending(&ir->keyup_timer)) {
+-		del_timer(&ir->keyup_timer);
+-		if (ir->last_key != keycode || toggle != ir->last_toggle) {
+-			ir->delay_timer_finished = false;
+-			input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
+-			input_event(ir->input_dev, EV_KEY, keycode, 1);
+-			input_sync(ir->input_dev);
+-		} else if (ir->delay_timer_finished) {
+-			input_event(ir->input_dev, EV_KEY, keycode, 2);
+-			input_sync(ir->input_dev);
+-		}
+-	} else {
+-		ir->delay_timer_finished = false;
+-		input_event(ir->input_dev, EV_KEY, keycode, 1);
+-		input_sync(ir->input_dev);
+-	}
++	if (ir->key_pressed &&
++	    (ir->last_key != keycode || toggle != ir->last_toggle))
++		input_event(ir->input_dev, EV_KEY, ir->last_key, 0);
+
++	input_event(ir->input_dev, EV_KEY, keycode, 1);
++	input_sync(ir->input_dev);
++
++	ir->key_pressed = true;
+	ir->last_key = keycode;
+	ir->last_toggle = toggle;
+
+-	ir->keyup_timer.expires = jiffies + UP_TIMEOUT;
+-	add_timer(&ir->keyup_timer);
++	mod_timer(&ir->keyup_timer, jiffies + UP_TIMEOUT);
+
+ }
+
+@@ -166,16 +157,6 @@ static void ir_register_keys(struct infrared *ir)
+	ir->input_dev->keycodemax = ARRAY_SIZE(ir->key_map);
+ }
+
+-
+-/* called by the input driver after rep[REP_DELAY] ms */
+-static void ir_repeat_key(unsigned long parm)
+-{
+-	struct infrared *ir = (struct infrared *) parm;
+-
+-	ir->delay_timer_finished = true;
+-}
+-
+-
+ /* interrupt handler */
+ void saa716x_ir_handler(struct saa716x_dev *saa716x, u32 ir_cmd)
+ {
+@@ -236,9 +217,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
+		ir->key_map[i] = i+1;
+	ir_register_keys(ir);
+
+-	/* override repeat timer */
+-	input_dev->timer.function = ir_repeat_key;
+-	input_dev->timer.data = (unsigned long) ir;
++	input_enable_softrepeat(input_dev, 800, 200);
+
+	tasklet_init(&ir->tasklet, ir_emit_key, (unsigned long) saa716x);
+	saa716x->ir_priv = ir;
+
+# file v4l-dvb-saa716x-4.15-fix-timers.patch
+# Source: https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch
+
+From 1002d79c4ba60de0dbeacba0f289119556d7450d Mon Sep 17 00:00:00 2001
+From: Soeren Moch <smoch@web.de>
+Date: Sat, 2 Dec 2017 21:23:34 +0100
+Subject: [PATCH] saa716x_ff: Convert to new timer API
+
+Convert to new timer API in linux-4.15.
+
+Signed-off-by: Soeren Moch <smoch@web.de>
+---
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_ir.c
+@@ -48,9 +48,9 @@ struct infrared {
+
+
+ /* key-up timer */
+-static void ir_emit_keyup(unsigned long parm)
++static void ir_emit_keyup(struct timer_list *t)
+ {
+-	struct infrared *ir = (struct infrared *) parm;
++	struct infrared *ir = from_timer(ir, t, keyup_timer);
+
+	if (!ir || !ir->key_pressed)
+		return;
+@@ -184,9 +184,7 @@ int saa716x_ir_init(struct saa716x_dev *saa716x)
+	if (!ir)
+		return -ENOMEM;
+
+-	init_timer(&ir->keyup_timer);
+-	ir->keyup_timer.function = ir_emit_keyup;
+-	ir->keyup_timer.data = (unsigned long) ir;
++	timer_setup(&ir->keyup_timer, ir_emit_keyup, 0);
+
+	input_dev = input_allocate_device();
+	if (!input_dev)
+
+# file v4l-dvb-saa716x-4.16-fix-compile.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_adap.c
++++ b/linux/drivers/media/common/saa716x/saa716x_adap.c
+@@ -1,9 +1,9 @@
+ #include <linux/bitops.h>
+
+-#include "dmxdev.h"
+-#include "dvbdev.h"
+-#include "dvb_demux.h"
+-#include "dvb_frontend.h"
++#include <media/dmxdev.h>
++#include <media/dvbdev.h>
++#include <media/dvb_demux.h>
++#include <media/dvb_frontend.h>
+
+ #include "saa716x_mod.h"
+ #include "saa716x_spi.h"
+--- a/linux/drivers/media/common/saa716x/saa716x_ff.h
++++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
+@@ -1,7 +1,7 @@
+ #ifndef __SAA716x_FF_H
+ #define __SAA716x_FF_H
+
+-#include "dvb_ringbuffer.h"
++#include <media/dvb_ringbuffer.h>
+ #include <linux/version.h>
+ #include <linux/workqueue.h>
+
+--- a/linux/drivers/media/common/saa716x/saa716x_priv.h
++++ b/linux/drivers/media/common/saa716x/saa716x_priv.h
+@@ -18,11 +18,11 @@
+ #include "saa716x_spi.h"
+ #include "saa716x_vip.h"
+
+-#include "dvbdev.h"
+-#include "dvb_demux.h"
+-#include "dmxdev.h"
+-#include "dvb_frontend.h"
+-#include "dvb_net.h"
++#include <media/dvbdev.h>
++#include <media/dvb_demux.h>
++#include <media/dmxdev.h>
++#include <media/dvb_frontend.h>
++#include <media/dvb_net.h>
+
+ #define SAA716x_ERROR		0
+ #define SAA716x_NOTICE		1
+
+# file v4l-dvb-saa716x-4.17-define-AUDIO_GET_PTS.patch
+--- a/linux/drivers/media/common/saa716x/saa716x_ff.h
++++ b/linux/drivers/media/common/saa716x/saa716x_ff.h
+@@ -108,6 +108,9 @@
+ #define VIDEO_CAPTURE_OFF	0
+ #define VIDEO_CAPTURE_ONE_SHOT	1
+
++#ifndef AUDIO_GET_PTS
++#define AUDIO_GET_PTS              _IOR('o', 19, __u64)
++#endif
+
+ /* place to store all the necessary device information */
+ struct sti7109_dev {
+--- a/linux/drivers/media/common/saa716x/saa716x_ff_phi.c
++++ b/linux/drivers/media/common/saa716x/saa716x_ff_phi.c
+@@ -41,7 +41,7 @@
+	}
+
+	/* skip first PHI window as it is already mapped */
+-	sti7109->mmio_uc = ioremap_nocache(phi1_start + 0x10000, 0x30000);
++	sti7109->mmio_uc = ioremap(phi1_start + 0x10000, 0x30000);
+	if (!sti7109->mmio_uc) {
+		dprintk(SAA716x_ERROR, 1, "Mem PHI1 remap failed");
+		err = -ENODEV;
+--- a/linux/drivers/media/common/saa716x/saa716x_pci.c
++++ b/linux/drivers/media/common/saa716x/saa716x_pci.c
+@@ -185,7 +185,7 @@
+		goto fail2;
+	}
+
+-	saa716x->mmio = ioremap_nocache(pci_resource_start(pdev, 0), 0x30000);
++	saa716x->mmio = ioremap(pci_resource_start(pdev, 0), 0x30000);
+	if (!saa716x->mmio) {
+		dprintk(SAA716x_ERROR, 1, "Mem 0 remap failed");
+		ret = -ENODEV;
+--- a/v4l/compat.h
++++ b/v4l/compat.h
+@@ -571,8 +571,8 @@
+
+ #ifdef NEED_PCI_IOREMAP_BAR
+ #define pci_ioremap_bar(pdev, bar) \
+-	 ioremap_nocache(pci_resource_start(pdev, bar),	\
+-			 pci_resource_len(pdev, bar))
++	 ioremap(pci_resource_start(pdev, bar),	\
++		 pci_resource_len(pdev, bar))
+ #endif
+
+ #ifdef NEED_POLL_SCHEDULE

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild
deleted file mode 100644
index 93549b462185..000000000000
--- a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r5.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info linux-mod
-
-DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
-HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x"
-
-REVISION="83f3bfd93a95"
-REVISION_DATE="20160322"
-
-SRC_URI="https://bitbucket.org/powARman/v4l-dvb-saa716x/get/${REVISION}.tar.bz2
--> v4l-dvb-saa716x-0.0.1_p${REVISION_DATE}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="sys-firmware/tt-s2-6400-firmware"
-
-S="${WORKDIR}/powARman-v4l-dvb-saa716x-${REVISION}"
-
-BUILD_TARGETS="modules"
-MODULE_NAMES="
-	saa716x_ff(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_core(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_budget(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)
-	saa716x_hybrid(misc:${EROOT}/usr/src/linux:${S}/linux/drivers/media/common/saa716x)"
-
-CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
-
-src_prepare() {
-	default
-
-	kernel_is ge 4 4 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.4.patch"
-	kernel_is ge 4 9 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.9.patch"
-	kernel_is ge 4 14 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.14.patch"
-	kernel_is ge 4 17 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-4.17.patch"
-	kernel_is ge 5 6 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-5.6-fix-compile.patch"
-}
-
-src_compile() {
-	kernel_is le 5 0 && BUILD_PARAMS="SUBDIRS" || BUILD_PARAMS="M"
-	BUILD_PARAMS+="=${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 /usr/src/linux/
-	linux-mod_src_compile
-}

diff --git a/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r6.ebuild b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r6.ebuild
new file mode 100644
index 000000000000..18644b71e336
--- /dev/null
+++ b/media-tv/v4l-dvb-saa716x/v4l-dvb-saa716x-0.0.1_p20170225-r6.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+DESCRIPTION="driver for saa716x based dvb cards like TT S2-6400 or Skystar 2 eXpress HD"
+HOMEPAGE="https://bitbucket.org/powARman/v4l-dvb-saa716x"
+REVISION="83f3bfd93a95"
+REVISION_DATE="20160322"
+SRC_URI="https://bitbucket.org/powARman/v4l-dvb-saa716x/get/${REVISION}.tar.bz2
+-> ${PN}-0.0.1_p${REVISION_DATE}.tar.bz2"
+S="${WORKDIR}/powARman-v4l-dvb-saa716x-${REVISION}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sys-firmware/tt-s2-6400-firmware"
+
+CONFIG_CHECK="DVB_CORE DVB_STV6110x DVB_STV090x"
+
+src_prepare() {
+	default
+
+	eapply "${FILESDIR}/v4l-dvb-saa716x-up-to-5.6.patch"
+	kernel_is ge 5 18 0 && eapply "${FILESDIR}/v4l-dvb-saa716x-5.18-fix-compile.patch"
+}
+
+src_compile() {
+	local modlist=(
+		saa716x_core=misc:/usr/src/linux:./linux/drivers/media/common/saa716x
+		saa716x_ff=misc:/usr/src/linux:./linux/drivers/media/common/saa716x
+		saa716x_budget=misc:/usr/src/linux:./linux/drivers/media/common/saa716x
+		saa716x_hybrid=misc:/usr/src/linux:./linux/drivers/media/common/saa716x
+	)
+	local modargs=(
+		M="${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
+	)
+	linux-mod-r1_src_compile
+}


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

end of thread, other threads:[~2024-02-15 13:13 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-10 19:21 [gentoo-commits] repo/gentoo:master commit in: media-tv/v4l-dvb-saa716x/files/, media-tv/v4l-dvb-saa716x/ Joerg Bornkessel
  -- strict thread matches above, loose matches on Subject: below --
2016-05-05 21:09 Joerg Bornkessel
2017-07-12  5:47 Michał Górny
2017-07-12  5:47 Michał Górny
2018-03-29 19:20 Michał Górny
2018-04-04 23:34 Andreas Sturmlechner
2018-04-04 23:34 Andreas Sturmlechner
2020-11-10 12:22 Joonas Niilola
2021-02-17 11:36 Joonas Niilola
2024-02-15 13:13 Mike Pagano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox