Add support for newer PCTV 800i cards with s5h1411 demodulators
PATCH 1/1 Add support for newer PCTV 800i cards with s5h1411 demodulators
Testing is needed on older (aka Pinnacle) PCTV 800i cards with S5H1409 demodulators
to check that current support for them isn't broken by this patch.
--- drivers/media/video/cx88/cx88-dvb.c | 40 ++++++++++++++++++++++++---------- 1 files changed, 28 insertions(+), 12 deletions(-)
(quoted diff) +0 -0
b/drivers/media/video/cx88/cx88-dvb.c
index 003937c..6d49672 100644
drivers/media/video/cx88/cx88-dvb.c +0 -0
@@ -501,7 +501,7 @@ static const struct cx24123_config
kworld_dvbs_100_config = {
.lnb_polarity = 1,};
-static const struct s5h1409_config pinnacle_pctv_hd_800i_config = {
+static const struct s5h1409_config pinnacle_pctv_hd_800i_s5h1409_config = {
.demod_address = 0x32 >> 1,
.output_mode = S5H1409_PARALLEL_OUTPUT,
.gpio = S5H1409_GPIO_ON,
@@ -509,7 +509,7 @@ static const struct s5h1409_config
pinnacle_pctv_hd_800i_config = {
.inversion = S5H1409_INVERSION_OFF,
.status_mode = S5H1409_DEMODLOCKING,
.mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK,-};
+};
static const struct s5h1409_config dvico_hdtv5_pci_nano_config = {
.demod_address = 0x32 >> 1,@@ -556,6 +556,16 @@ static const struct s5h1411_config dvico_fusionhdtv7_config = {
.status_mode = S5H1411_DEMODLOCKING
};
+static const struct s5h1411_config pinnacle_pctv_hd_800i_s5h1411_config = {
+ .output_mode = S5H1411_PARALLEL_OUTPUT,
+ .gpio = S5H1411_GPIO_ON,
+ .mpeg_timing = S5H1411_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK,
+ .qam_if = S5H1411_IF_44000,
+ .vsb_if = S5H1411_IF_44000,
+ .inversion = S5H1411_INVERSION_OFF,
+ .status_mode = S5H1411_DEMODLOCKING
+};
+
static const struct xc5000_config dvico_fusionhdtv7_tuner_config = {
.i2c_address = 0xc2 >> 1,
.if_khz = 5380,
@@ -1297,16 +1307,22 @@ static int dvb_register(struct cx8802_dev *dev)
}
break;
case CX88_BOARD_PINNACLE_PCTV_HD_800i:- fe0->dvb.frontend = dvb_attach(s5h1409_attach,
-&pinnacle_pctv_hd_800i_config,
- &core->i2c_adap);
- if (fe0->dvb.frontend != NULL) {
- if (!dvb_attach(xc5000_attach, fe0->dvb.frontend,
- &core->i2c_adap,
-&pinnacle_pctv_hd_800i_tuner_config))
- goto frontend_detach;
- } - break; + /* Try s5h1409 chip first */ + fe0->dvb.frontend = dvb_attach(s5h1409_attach,
+&pinnacle_pctv_hd_800i_s5h1409_config,
+ &core->i2c_adap);
+ /* Otherwise, try s5h1411 */
+ if (fe0->dvb.frontend == NULL)
+ fe0->dvb.frontend = dvb_attach(s5h1411_attach,
+&pinnacle_pctv_hd_800i_s5h1411_config,
+ &core->i2c_adap);
+ if (fe0->dvb.frontend != NULL) {
+ if (!dvb_attach(xc5000_attach, fe0->dvb.frontend,
+ &core->i2c_adap,
+&pinnacle_pctv_hd_800i_tuner_config))
+ goto frontend_detach;
+ }
+ break;
case CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO:
fe0->dvb.frontend = dvb_attach(s5h1409_attach,&dvico_hdtv5_pci_nano_config,
--
1.7.7.6
Quoted 91 lines · Mack Stanley
Testing is needed on older (aka Pinnacle) PCTV 800i cards with S5H1409 demodulators
to check that current support for them isn't broken by this patch.Signed-off-by Mack Stanley <[email protected]>---
drivers/media/video/cx88/cx88-dvb.c | 40
++++++++++++++++++++++++----------1 files changed, 28 insertions(+), 12 deletions(-)drivers/media/video/cx88/cx88-dvb.c +1
-1@@ -501,7 +501,7 @@ static const struct cx24123_config kworld_dvbs_100_config = { .lnb_polarity = 1, }; -static const struct s5h1409_config pinnacle_pctv_hd_800i_config = { +static const struct s5h1409_config pinnacle_pctv_hd_800i_s5h1409_config = { .demod_address = 0x32 >> 1, .output_mode = S5H1409_PARALLEL_OUTPUT,.gpio =
S5H1409_GPIO_ON,drivers/media/video/cx88/cx88-dvb.c +1
-1@@ -509,7 +509,7 @@ static const struct s5h1409_config pinnacle_pctv_hd_800i_config = { .inversion = S5H1409_INVERSION_OFF, .status_mode = S5H1409_DEMODLOCKING, .mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK, -}; +}; static const struct s5h1409_config dvico_hdtv5_pci_nano_config = {.demod_address =
0x32>> 1,drivers/media/video/cx88/cx88-dvb.c +0
-0@@ -556,6 +556,16 @@ static const struct s5h1411_config dvico_fusionhdtv7_config = {.status_mode =
S5H1411_DEMODLOCKING
};drivers/media/video/cx88/cx88-dvb.c +10
-0+static const struct s5h1411_config pinnacle_pctv_hd_800i_s5h1411_config = { + .output_mode = S5H1411_PARALLEL_OUTPUT, + .gpio = S5H1411_GPIO_ON, + .mpeg_timing = S5H1411_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK, + .qam_if = S5H1411_IF_44000, + .vsb_if = S5H1411_IF_44000, + .inversion = S5H1411_INVERSION_OFF, + .status_mode = S5H1411_DEMODLOCKING +}; +static const struct
xc5000_configdvico_fusionhdtv7_tuner_config= { .i2c_address =0xc2>> 1,
.if_khz = 5380,drivers/media/video/cx88/cx88-dvb.c +0
-0@@ -1297,16 +1307,22 @@ static int dvb_register(struct cx8802_dev *dev) } break;case
CX88_BOARD_PINNACLE_PCTV_HD_800i:
-fe0->dvb.frontend= dvb_attach(s5h1409_attach, -&pinnacle_pctv_hd_800i_config,
- &core->i2c_adap);
- if (fe0->dvb.frontend!= NULL) {
- if (!dvb_attach(xc5000_attach,fe0->dvb.frontend,
-&core->i2c_adap,
-&pinnacle_pctv_hd_800i_tuner_config))
- gotofrontend_detach;
- }
- break;
+ /* Try s5h1409 chip first */
+fe0->dvb.frontend= dvb_attach(s5h1409_attach, +&pinnacle_pctv_hd_800i_s5h1409_config,
+&core->i2c_adap);
+ /* Otherwise, try s5h1411 */
+ if (fe0->dvb.frontend== NULL)
+fe0->dvb.frontend= dvb_attach(s5h1411_attach, +&pinnacle_pctv_hd_800i_s5h1411_config,
+&core->i2c_adap);
+ if (fe0->dvb.frontend!= NULL) {
+ if (!dvb_attach(xc5000_attach,fe0->dvb.frontend,
+&core->i2c_adap,
+&pinnacle_pctv_hd_800i_tuner_config))
+ gotofrontend_detach;
+ }
+ break;
caseCX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO:
fe0->dvb.frontend = dvb_attach(s5h1409_attach,
Quoted 5 lines
&dvico_hdtv5_pci_nano_config,
--
1.7.7.6
Looks good. Thanks for taking the time to put this together.
Signature · 2 lines
Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com
Em 28-06-2012 18:29, Mack Stanley escreveu:
Quoted 36 lines
Testing is needed on older (aka Pinnacle) PCTV 800i cards with S5H1409 demodulators
to check that current support for them isn't broken by this patch.Signed-off-by Mack Stanley <[email protected]>--- drivers/media/video/cx88/cx88-dvb.c | 40 ++++++++++++++++++++++++---------- 1 files changed, 28 insertions(+), 12 deletions(-)drivers/media/video/cx88/cx88-dvb.c +1
-1@@ -501,7 +501,7 @@ static const struct cx24123_config kworld_dvbs_100_config = { .lnb_polarity = 1, }; -static const struct s5h1409_config pinnacle_pctv_hd_800i_config = { +static const struct s5h1409_config pinnacle_pctv_hd_800i_s5h1409_config = { .demod_address =0x32 >>1 , .output_mode =S5H1409_PARALLEL_OUTPUT ,.gpio = S5H1409_GPIO_ON,drivers/media/video/cx88/cx88-dvb.c +1
-1@@ -509,7 +509,7 @@ static const struct s5h1409_config pinnacle_pctv_hd_800i_config = { .inversion = S5H1409_INVERSION_OFF, .status_mode = S5H1409_DEMODLOCKING, .mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK, -}; +};static const struct s5h1409_config dvico_hdtv5_pci_nano_config = {.demod_address = 0x32 >> 1,
drivers/media/video/cx88/cx88-dvb.c static const struct s5h1411_config · line 556
Quoted 1 line
drivers/media/video/cx88/cx88-dvb.c +0
-0@@ -556,6 +556,16 @@ static const struct s5h1411_config dvico_fusionhdtv7_config = {
Patch got line-wrapped by your email. Please fix, otherwise, it can't be applied.
Quoted 64 lines
drivers/media/video/cx88/cx88-dvb.c +10
-0.status_mode = S5H1411_DEMODLOCKING }; +static const struct s5h1411_config pinnacle_pctv_hd_800i_s5h1411_config = { + .output_mode =S5H1411_PARALLEL_OUTPUT , + .gpio =S5H1411_GPIO_ON , + .mpeg_timing =S5H1411_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK , + .qam_if =S5H1411_IF_44000 , + .vsb_if =S5H1411_IF_44000 , + .inversion =S5H1411_INVERSION_OFF , + .status_mode =S5H1411_DEMODLOCKING +}; +static const struct xc5000_config dvico_fusionhdtv7_tuner_config = { .i2c_address =0xc2 >>1 ,.if_khz = 5380,drivers/media/video/cx88/cx88-dvb.c +8
-10@@ -1297,16 +1307,22 @@ static int dvb_register(struct cx8802_dev *dev) }break ;case CX88_BOARD_PINNACLE_PCTV_HD_800i: - fe0->dvb.frontend =dvb_attach (s5h1409_attach, - &pinnacle_pctv_hd_800i_config, - &core->i2c_adap); -if (fe0->dvb.frontend !=NULL ) { -if (!dvb_attach (xc5000_attach, fe0->dvb.frontend, - &core->i2c_adap, - &pinnacle_pctv_hd_800i_tuner_config)) - goto frontend_detach; - } -break ; +/* Try s5h1409 chip first */ + fe0->dvb.frontend =dvb_attach (s5h1409_attach, + &pinnacle_pctv_hd_800i_s5h1409_config, + &core->i2c_adap); +/* Otherwise, try s5h1411 */ +if (fe0->dvb.frontend ==NULL ) + fe0->dvb.frontend = dvb_attach(s5h1411_attach, +
&pinnacle_pctv_hd_800i_s5h1411_config,drivers/media/video/cx88/cx88-dvb.c +5
-0+ &core->i2c_adap); + if (fe0->dvb.frontend != NULL) { + if (!dvb_attach(xc5000_attach, fe0->dvb.frontend, + &core->i2c_adap, +
&pinnacle_pctv_hd_800i_tuner_config))drivers/media/video/cx88/cx88-dvb.c +3
-0+ goto frontend_detach; + } +break ;case CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO : fe0->dvb.frontend = dvb_attach(s5h1409_attach,
&dvico_hdtv5_pci_nano_config,
--
1.7.7.6--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
I'm sorry to have missed the word-wrap. Here's a new copy. ---Mack
Testing needed on older (Pinnacle) PCTV 800i cards with S5H1409 demodulators to check that current support for them isn't broken by this patch.
--- drivers/media/video/cx88/cx88-dvb.c | 40 ++++++++++++++++++++++++---------- 1 files changed, 28 insertions(+), 12 deletions(-)
(quoted diff) +0 -0
b/drivers/media/video/cx88/cx88-dvb.c
index 003937c..6d49672 100644
drivers/media/video/cx88/cx88-dvb.c +0 -0
@@ -501,7 +501,7 @@ static const struct cx24123_config
kworld_dvbs_100_config = {
.lnb_polarity = 1,};
-static const struct s5h1409_config pinnacle_pctv_hd_800i_config = {
+static const struct s5h1409_config pinnacle_pctv_hd_800i_s5h1409_config = {
.demod_address = 0x32 >> 1,
.output_mode = S5H1409_PARALLEL_OUTPUT,
.gpio = S5H1409_GPIO_ON,
@@ -509,7 +509,7 @@ static const struct s5h1409_config
pinnacle_pctv_hd_800i_config = {
.inversion = S5H1409_INVERSION_OFF,
.status_mode = S5H1409_DEMODLOCKING,
.mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK,-};
+};
static const struct s5h1409_config dvico_hdtv5_pci_nano_config = {
.demod_address = 0x32 >> 1,@@ -556,6 +556,16 @@ static const struct s5h1411_config dvico_fusionhdtv7_config = {
.status_mode = S5H1411_DEMODLOCKING
};
+static const struct s5h1411_config pinnacle_pctv_hd_800i_s5h1411_config = {
+ .output_mode = S5H1411_PARALLEL_OUTPUT,
+ .gpio = S5H1411_GPIO_ON,
+ .mpeg_timing = S5H1411_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK,
+ .qam_if = S5H1411_IF_44000,
+ .vsb_if = S5H1411_IF_44000,
+ .inversion = S5H1411_INVERSION_OFF,
+ .status_mode = S5H1411_DEMODLOCKING
+};
+
static const struct xc5000_config dvico_fusionhdtv7_tuner_config = {
.i2c_address = 0xc2 >> 1,
.if_khz = 5380,
@@ -1297,16 +1307,22 @@ static int dvb_register(struct cx8802_dev *dev)
}
break;
case CX88_BOARD_PINNACLE_PCTV_HD_800i:- fe0->dvb.frontend = dvb_attach(s5h1409_attach,
-&pinnacle_pctv_hd_800i_config,
- &core->i2c_adap);
- if (fe0->dvb.frontend != NULL) {
- if (!dvb_attach(xc5000_attach, fe0->dvb.frontend,
- &core->i2c_adap,
-&pinnacle_pctv_hd_800i_tuner_config))
- goto frontend_detach;
- } - break; + /* Try s5h1409 chip first */ + fe0->dvb.frontend = dvb_attach(s5h1409_attach,
+&pinnacle_pctv_hd_800i_s5h1409_config,
+ &core->i2c_adap);
+ /* Otherwise, try s5h1411 */
+ if (fe0->dvb.frontend == NULL)
+ fe0->dvb.frontend = dvb_attach(s5h1411_attach,
+&pinnacle_pctv_hd_800i_s5h1411_config,
+ &core->i2c_adap);
+ if (fe0->dvb.frontend != NULL) {
+ if (!dvb_attach(xc5000_attach, fe0->dvb.frontend,
+ &core->i2c_adap,
+&pinnacle_pctv_hd_800i_tuner_config))
+ goto frontend_detach;
+ }
+ break;
case CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO:
fe0->dvb.frontend = dvb_attach(s5h1409_attach,&dvico_hdtv5_pci_nano_config,
--
1.7.7.6
Em 29-06-2012 01:38, Mack Stanley escreveu:
Quoted 9 lines
I'm sorry to have missed the word-wrap. Here's a new copy. ---Mack
Testing needed on older (Pinnacle) PCTV 800i cards with S5H1409 demodulators to check that current support for them isn't broken by this patch.
Signed-off-by Mack Stanley <[email protected]>--- drivers/media/video/cx88/cx88-dvb.c | 40++++++++++++++++++++++++----------
It is still completely mangled. It is impossible to apply it this way.
Regards,
Mauro
Quoted 93 lines
1 files changed, 28 insertions(+), 12 deletions(-)drivers/media/video/cx88/cx88-dvb.c +1
-1@@ -501,7 +501,7 @@ static const struct cx24123_config kworld_dvbs_100_config = { .lnb_polarity = 1, }; -static const struct s5h1409_config pinnacle_pctv_hd_800i_config = { +static const struct s5h1409_config pinnacle_pctv_hd_800i_s5h1409_config = { .demod_address =0x32 >>1 , .output_mode =S5H1409_PARALLEL_OUTPUT ,.gpio = S5H1409_GPIO_ON,drivers/media/video/cx88/cx88-dvb.c +1
-1@@ -509,7 +509,7 @@ static const struct s5h1409_config pinnacle_pctv_hd_800i_config = { .inversion = S5H1409_INVERSION_OFF, .status_mode = S5H1409_DEMODLOCKING, .mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK, -}; +};static const struct s5h1409_config dvico_hdtv5_pci_nano_config = {.demod_address = 0x32 >> 1,drivers/media/video/cx88/cx88-dvb.c +10
-0@@ -556,6 +556,16 @@ static const struct s5h1411_config dvico_fusionhdtv7_config = { .status_mode =S5H1411_DEMODLOCKING }; +static const struct s5h1411_config pinnacle_pctv_hd_800i_s5h1411_config = { + .output_mode =S5H1411_PARALLEL_OUTPUT , + .gpio =S5H1411_GPIO_ON , + .mpeg_timing =S5H1411_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK , + .qam_if =S5H1411_IF_44000 , + .vsb_if =S5H1411_IF_44000 , + .inversion =S5H1411_INVERSION_OFF , + .status_mode =S5H1411_DEMODLOCKING +}; +static const struct xc5000_config dvico_fusionhdtv7_tuner_config = { .i2c_address =0xc2 >>1 ,.if_khz = 5380,drivers/media/video/cx88/cx88-dvb.c +8
-10@@ -1297,16 +1307,22 @@ static int dvb_register(struct cx8802_dev *dev) }break ;case CX88_BOARD_PINNACLE_PCTV_HD_800i: - fe0->dvb.frontend =dvb_attach (s5h1409_attach, - &pinnacle_pctv_hd_800i_config, - &core->i2c_adap); -if (fe0->dvb.frontend !=NULL ) { -if (!dvb_attach (xc5000_attach, fe0->dvb.frontend, - &core->i2c_adap, - &pinnacle_pctv_hd_800i_tuner_config)) - goto frontend_detach; - } -break ; +/* Try s5h1409 chip first */ + fe0->dvb.frontend =dvb_attach (s5h1409_attach, + &pinnacle_pctv_hd_800i_s5h1409_config, + &core->i2c_adap); +/* Otherwise, try s5h1411 */ +if (fe0->dvb.frontend ==NULL ) + fe0->dvb.frontend = dvb_attach(s5h1411_attach, +
&pinnacle_pctv_hd_800i_s5h1411_config,drivers/media/video/cx88/cx88-dvb.c +5
-0+ &core->i2c_adap); + if (fe0->dvb.frontend != NULL) { + if (!dvb_attach(xc5000_attach, fe0->dvb.frontend, + &core->i2c_adap, +
&pinnacle_pctv_hd_800i_tuner_config))drivers/media/video/cx88/cx88-dvb.c +3
-0+ goto frontend_detach; + } +break ;case CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO : fe0->dvb.frontend = dvb_attach(s5h1409_attach,
&dvico_hdtv5_pci_nano_config,
--
1.7.7.6--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 12 lines · Mauro Carvalho Chehab
Em 29-06-2012 01:38, Mack Stanley escreveu:
Quoted 9 lines
I'm sorry to have missed the word-wrap. Here's a new copy. ---Mack
Testing needed on older (Pinnacle) PCTV 800i cards with S5H1409 demodulators to check that current support for them isn't broken by this patch.
Signed-off-by Mack Stanley <[email protected]>--- drivers/media/video/cx88/cx88-dvb.c | 40++++++++++++++++++++++++----------
Quoted 4 lines
It is still completely mangled. It is impossible to apply it this way.
Regards,
Mauro
Mack,
Assuming this is a git tree, just use "git format-patch" followed by "git send-email".
Devin
Signature · 2 lines
Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com