1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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>
|