smipcie: add DVBSky T9580 V3 support
PATCH v2 2/2 smipcie: add DVBSky T9580 V3 support
v2:
- Update Kconfig file.
DVBSky T9580 V3 card is the dual tuner card, which supports S/S2 and T2/T/C. 1>DVB-S/S2 frontend: M88DS3103/M88TS2022
2>DVB-T2/T/C frontend: SI2168B40/SI2157A30
2>PCIe bridge: SMI PCIe
--- drivers/media/pci/smipcie/Kconfig | 3 ++ drivers/media/pci/smipcie/smipcie.c | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)
drivers/media/pci/smipcie/Kconfig +3 -0
@@ -2,12 +2,15 @@ config DVB_SMIPCIE tristate "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT + select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88TS2022 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT + select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT help Support for cards with SMI PCIe bridge: - DVBSky S950 V3 - DVBSky S952 V3 + - DVBSky T9580 V3 Say Y or M if you own such a device and want to use it. If unsure say N.
drivers/media/pci/smipcie/smipcie.c +67 -0
97 lines not on this page · raw message
Signature · 1 line
1.9.1
Quoted 9 lines · Nibble Max
v2:
- UpdateKconfigfile.DVBSky T9580 V3 card is the dual tuner card, which supports S/S2 and T2/T/C. 1>DVB-S/S2 frontend: M88DS3103/M88TS2022
2>DVB-T2/T/C frontend: SI2168B40/SI2157A30
2>PCIe bridge: SMI PCIeSigned-off-by Nibble Max <[email protected]>
I reviewed the patch v1 also :]
Antti
Quoted 133 lines
--- drivers/media/pci/smipcie/Kconfig | 3 ++ drivers/media/pci/smipcie/smipcie.c | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)drivers/media/pci/smipcie/Kconfig +3
-0@@ -2,12 +2,15 @@ config DVB_SMIPCIE tristate "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT + select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88TS2022 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT + select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT help Support for cards with SMI PCIe bridge: - DVBSky S950 V3 - DVBSky S952 V3 + - DVBSky T9580 V3 Say Y or M if you own such a device and want to use it. If unsure say N.drivers/media/pci/smipcie/smipcie.c +67
-0@@ -18,6 +18,8 @@#include "m88ds3103.h" #include "m88ts2022.h" #include "m88rs6000t.h" +#include "si2168.h" +#include "si2157.h" DVB_DEFINE_MOD_OPT_ADAPTER_NR (adapter_nr);@@ -618,6 +620,58 @@ err_tuner_i2c_device:return ret; } +static int smi_dvbsky_sit2_fe_attach (struct smi_port *port) +{ +int ret =0 ; +struct smi_dev *dev = port->dev; +struct i2c_adapter *i2c; +struct i2c_adapter *tuner_i2c_adapter; +struct i2c_client *client_tuner, *client_demod; +struct i2c_board_info client_info; +struct si2168_config si2168_config; +struct si2157_config si2157_config; + +/* select i2c bus */ + i2c = (port->idx ==0 ) ? &dev->i2c_bus[0 ] : &dev->i2c_bus[1 ]; + +/* attach demod */ +memset (&si2168_config,0 ,sizeof (si2168_config)); + si2168_config.i2c_adapter = &tuner_i2c_adapter; + si2168_config.fe = &port->fe; + si2168_config.ts_mode =SI2168_TS_PARALLEL ; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2168" ,I2C_NAME_SIZE ); + client_info.addr =0x64 ; + client_info.platform_data = &si2168_config; + + client_demod =smi_add_i2c_client (i2c, &client_info); +if (!client_demod) { + ret = -ENODEV ; +return ret; + } + port->i2c_client_demod = client_demod; + +/* attach tuner */ +memset (&si2157_config,0 ,sizeof (si2157_config)); + si2157_config.fe = port->fe; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2157" ,I2C_NAME_SIZE ); + client_info.addr =0x60 ; + client_info.platform_data = &si2157_config; + + client_tuner =smi_add_i2c_client (tuner_i2c_adapter, &client_info); +if (!client_tuner) { +smi_del_i2c_client (port->i2c_client_demod); + port->i2c_client_demod =NULL ; + ret = -ENODEV ; +return ret; + } + port->i2c_client_tuner = client_tuner; +return ret; +} +static int smi_fe_init (struct smi_port *port) {int ret =0 ;@@ -635,6 +689,9 @@ static int smi_fe_init(struct smi_port *port)case DVBSKY_FE_M88RS6000 : ret =smi_dvbsky_m88rs6000_fe_attach (port);break ; +case DVBSKY_FE_SIT2 : + ret =smi_dvbsky_sit2_fe_attach (port); +break ; }if (ret <0 )return ret;@@ -1005,6 +1062,15 @@ static struct smi_cfg_info dvbsky_s952_cfg = { .fe_1 = DVBSKY_FE_M88RS6000, }; +static struct smi_cfg_info dvbsky_t9580_cfg = { + .type =SMI_DVBSKY_T9580 , + .name ="DVBSky T9580 V3" , + .ts_0 =SMI_TS_DMA_BOTH , + .ts_1 =SMI_TS_DMA_BOTH , + .fe_0 =DVBSKY_FE_SIT2 , + .fe_1 =DVBSKY_FE_M88DS3103 , +}; +/* PCI IDs */ #define SMI_ID (_subvend, _subdev, _driverdata) { \ .vendor = SMI_VID, .device = SMI_PID, \@@ -1014,6 +1080,7 @@ static struct smi_cfg_info dvbsky_s952_cfg = {static const struct pci_device_id smi_id_table[] = {SMI_ID (0x4254 ,0x0550 , dvbsky_s950_cfg),SMI_ID (0x4254 ,0x0552 , dvbsky_s952_cfg), +SMI_ID (0x4254 ,0x5580 , dvbsky_t9580_cfg), {0 } };MODULE_DEVICE_TABLE (pci, smi_id_table);
Signature · 1 line
http://palosaari.fi/
Hello Antti,
Quoted 9 lines · Antti Palosaari
Quoted 8 lines · Nibble Max
v2:
- UpdateKconfigfile.DVBSky T9580 V3 card is the dual tuner card, which supports S/S2 and T2/T/C. 1>DVB-S/S2 frontend: M88DS3103/M88TS2022
2>DVB-T2/T/C frontend: SI2168B40/SI2157A30
2>PCIe bridge: SMI PCIe
Quoted 7 lines
Quoted 1 line
Signed-off-by Nibble Max <[email protected]>Reviewed-by Antti Palosaari <[email protected]>I reviewed the patch v1 also :]
Antti
Thanks for your review!
Best Regards,
Max
Quoted 137 lines
Quoted 134 lines
--- drivers/media/pci/smipcie/Kconfig | 3 ++ drivers/media/pci/smipcie/smipcie.c | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)drivers/media/pci/smipcie/Kconfig +3
-0@@ -2,12 +2,15 @@ config DVB_SMIPCIE tristate "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT + select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88TS2022 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT + select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT help Support for cards with SMI PCIe bridge: - DVBSky S950 V3 - DVBSky S952 V3 + - DVBSky T9580 V3 Say Y or M if you own such a device and want to use it. If unsure say N.drivers/media/pci/smipcie/smipcie.c +67
-0@@ -18,6 +18,8 @@#include "m88ds3103.h" #include "m88ts2022.h" #include "m88rs6000t.h" +#include "si2168.h" +#include "si2157.h" DVB_DEFINE_MOD_OPT_ADAPTER_NR (adapter_nr);@@ -618,6 +620,58 @@ err_tuner_i2c_device:return ret; } +static int smi_dvbsky_sit2_fe_attach (struct smi_port *port) +{ +int ret =0 ; +struct smi_dev *dev = port->dev; +struct i2c_adapter *i2c; +struct i2c_adapter *tuner_i2c_adapter; +struct i2c_client *client_tuner, *client_demod; +struct i2c_board_info client_info; +struct si2168_config si2168_config; +struct si2157_config si2157_config; + +/* select i2c bus */ + i2c = (port->idx ==0 ) ? &dev->i2c_bus[0 ] : &dev->i2c_bus[1 ]; + +/* attach demod */ +memset (&si2168_config,0 ,sizeof (si2168_config)); + si2168_config.i2c_adapter = &tuner_i2c_adapter; + si2168_config.fe = &port->fe; + si2168_config.ts_mode =SI2168_TS_PARALLEL ; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2168" ,I2C_NAME_SIZE ); + client_info.addr =0x64 ; + client_info.platform_data = &si2168_config; + + client_demod =smi_add_i2c_client (i2c, &client_info); +if (!client_demod) { + ret = -ENODEV ; +return ret; + } + port->i2c_client_demod = client_demod; + +/* attach tuner */ +memset (&si2157_config,0 ,sizeof (si2157_config)); + si2157_config.fe = port->fe; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2157" ,I2C_NAME_SIZE ); + client_info.addr =0x60 ; + client_info.platform_data = &si2157_config; + + client_tuner =smi_add_i2c_client (tuner_i2c_adapter, &client_info); +if (!client_tuner) { +smi_del_i2c_client (port->i2c_client_demod); + port->i2c_client_demod =NULL ; + ret = -ENODEV ; +return ret; + } + port->i2c_client_tuner = client_tuner; +return ret; +} +static int smi_fe_init (struct smi_port *port) {int ret =0 ;@@ -635,6 +689,9 @@ static int smi_fe_init(struct smi_port *port)case DVBSKY_FE_M88RS6000 : ret =smi_dvbsky_m88rs6000_fe_attach (port);break ; +case DVBSKY_FE_SIT2 : + ret =smi_dvbsky_sit2_fe_attach (port); +break ; }if (ret <0 )return ret;@@ -1005,6 +1062,15 @@ static struct smi_cfg_info dvbsky_s952_cfg = { .fe_1 = DVBSKY_FE_M88RS6000, }; +static struct smi_cfg_info dvbsky_t9580_cfg = { + .type =SMI_DVBSKY_T9580 , + .name ="DVBSky T9580 V3" , + .ts_0 =SMI_TS_DMA_BOTH , + .ts_1 =SMI_TS_DMA_BOTH , + .fe_0 =DVBSKY_FE_SIT2 , + .fe_1 =DVBSKY_FE_M88DS3103 , +}; +/* PCI IDs */ #define SMI_ID (_subvend, _subdev, _driverdata) { \ .vendor = SMI_VID, .device = SMI_PID, \@@ -1014,6 +1080,7 @@ static struct smi_cfg_info dvbsky_s952_cfg = {static const struct pci_device_id smi_id_table[] = {SMI_ID (0x4254 ,0x0550 , dvbsky_s950_cfg),SMI_ID (0x4254 ,0x0552 , dvbsky_s952_cfg), +SMI_ID (0x4254 ,0x5580 , dvbsky_t9580_cfg), {0 } };MODULE_DEVICE_TABLE (pci, smi_id_table);Signature · 1 line
http://palosaari.fi/
Em Mon, 10 Nov 2014 10:09:13 +0800
"Nibble Max" <[email protected]> escreveu:
Quoted 14 lines
Hello Antti,
Quoted 11 lines · Antti Palosaari
Quoted 9 lines · Nibble Max
v2:
- UpdateKconfigfile.DVBSky T9580 V3 card is the dual tuner card, which supports S/S2 and T2/T/C. 1>DVB-S/S2 frontend: M88DS3103/M88TS2022
2>DVB-T2/T/C frontend: SI2168B40/SI2157A30
2>PCIe bridge: SMI PCIeSigned-off-by Nibble Max <[email protected]>
Quoted 7 lines
Quoted 5 lines
Reviewed-by Antti Palosaari <[email protected]>I reviewed the patch v1 also :]
Antti
Thanks for your review!
This patch doesn't compile:
drivers/media/pci/smipcie/smipcie.c: In function 'smi_dvbsky_sit2_fe_attach':drivers/media/pci/smipcie/smipcie.c:637:2: error: implicit declaration of function 'smi_add_i2c_client' [-Werror=implicit-function-declaration]
client_demod = smi_add_i2c_client(i2c, &client_info);
^drivers/media/pci/smipcie/smipcie.c:637:15: warning: assignment makes pointer from integer without a cast [enabled by default]
client_demod = smi_add_i2c_client(i2c, &client_info);
^
drivers/media/pci/smipcie/smipcie.c:653:15: warning: assignment makes pointer from integer without a cast [enabled by default]
client_tuner = smi_add_i2c_client(tuner_i2c_adapter, &client_info);
^drivers/media/pci/smipcie/smipcie.c:655:3: error: implicit declaration of function 'smi_del_i2c_client' [-Werror=implicit-function-declaration]
smi_del_i2c_client(port->i2c_client_demod);
^
Quoted 146 lines
Best Regards,
MaxQuoted 126 lines
Quoted 126 lines
--- drivers/media/pci/smipcie/Kconfig | 3 ++ drivers/media/pci/smipcie/smipcie.c | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)drivers/media/pci/smipcie/Kconfig +3
-0@@ -2,12 +2,15 @@ config DVB_SMIPCIE tristate "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT + select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88TS2022 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT + select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT help Support for cards with SMI PCIe bridge: - DVBSky S950 V3 - DVBSky S952 V3 + - DVBSky T9580 V3 Say Y or M if you own such a device and want to use it. If unsure say N.drivers/media/pci/smipcie/smipcie.c +66
-0@@ -18,6 +18,8 @@#include "m88ds3103.h" #include "m88ts2022.h" #include "m88rs6000t.h" +#include "si2168.h" +#include "si2157.h" DVB_DEFINE_MOD_OPT_ADAPTER_NR (adapter_nr);@@ -618,6 +620,58 @@ err_tuner_i2c_device:return ret; } +static int smi_dvbsky_sit2_fe_attach (struct smi_port *port) +{ +int ret =0 ; +struct smi_dev *dev = port->dev; +struct i2c_adapter *i2c; +struct i2c_adapter *tuner_i2c_adapter; +struct i2c_client *client_tuner, *client_demod; +struct i2c_board_info client_info; +struct si2168_config si2168_config; +struct si2157_config si2157_config; + +/* select i2c bus */ + i2c = (port->idx ==0 ) ? &dev->i2c_bus[0 ] : &dev->i2c_bus[1 ]; + +/* attach demod */ +memset (&si2168_config,0 ,sizeof (si2168_config)); + si2168_config.i2c_adapter = &tuner_i2c_adapter; + si2168_config.fe = &port->fe; + si2168_config.ts_mode =SI2168_TS_PARALLEL ; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2168" ,I2C_NAME_SIZE ); + client_info.addr =0x64 ; + client_info.platform_data = &si2168_config; + + client_demod =smi_add_i2c_client (i2c, &client_info); +if (!client_demod) { + ret = -ENODEV ; +return ret; + } + port->i2c_client_demod = client_demod; + +/* attach tuner */ +memset (&si2157_config,0 ,sizeof (si2157_config)); + si2157_config.fe = port->fe; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2157" ,I2C_NAME_SIZE ); + client_info.addr =0x60 ; + client_info.platform_data = &si2157_config; + + client_tuner =smi_add_i2c_client (tuner_i2c_adapter, &client_info); +if (!client_tuner) { +smi_del_i2c_client (port->i2c_client_demod); + port->i2c_client_demod =NULL ; + ret = -ENODEV ; +return ret; + } + port->i2c_client_tuner = client_tuner; +return ret; +} +static int smi_fe_init (struct smi_port *port) {int ret =0 ;@@ -635,6 +689,9 @@ static int smi_fe_init(struct smi_port *port)case DVBSKY_FE_M88RS6000 : ret =smi_dvbsky_m88rs6000_fe_attach (port);break ; +case DVBSKY_FE_SIT2 : + ret =smi_dvbsky_sit2_fe_attach (port); +break ; }if (ret <0 )return ret;@@ -1005,6 +1062,15 @@ static struct smi_cfg_info dvbsky_s952_cfg = { .fe_1 = DVBSKY_FE_M88RS6000, }; +static struct smi_cfg_info dvbsky_t9580_cfg = { + .type =SMI_DVBSKY_T9580 , + .name ="DVBSky T9580 V3" , + .ts_0 =SMI_TS_DMA_BOTH , + .ts_1 =SMI_TS_DMA_BOTH , + .fe_0 =DVBSKY_FE_SIT2 , + .fe_1 =DVBSKY_FE_M88DS3103 , +}; +/* PCI IDs */ #define SMI_ID (_subvend, _subdev, _driverdata) { \ .vendor = SMI_VID, .device = SMI_PID, \@@ -1014,6 +1080,7 @@ static struct smi_cfg_info dvbsky_s952_cfg = {static const struct pci_device_id smi_id_table[] = {Quoted 11 lines
Quoted 8 lines
drivers/media/pci/smipcie/smipcie.c +1
-0SMI_ID (0x4254 ,0x0550 , dvbsky_s950_cfg),SMI_ID (0x4254 ,0x0552 , dvbsky_s952_cfg), +SMI_ID (0x4254 ,0x5580 , dvbsky_t9580_cfg), {0} };MODULE_DEVICE_TABLE (pci, smi_id_table);Signature · 1 line
http://palosaari.fi/--
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
Em Tue, 25 Nov 2014 12:25:38 -0200
Mauro Carvalho Chehab <[email protected]> escreveu:
Quoted 32 lines
Em Mon, 10 Nov 2014 10:09:13 +0800
"Nibble Max" <[email protected]> escreveu:Quoted 14 lines
Hello Antti,
Quoted 11 lines · Antti Palosaari
Quoted 9 lines · Nibble Max
v2:
- UpdateKconfigfile.DVBSky T9580 V3 card is the dual tuner card, which supports S/S2 and T2/T/C. 1>DVB-S/S2 frontend: M88DS3103/M88TS2022
2>DVB-T2/T/C frontend: SI2168B40/SI2157A30
2>PCIe bridge: SMI PCIeSigned-off-by Nibble Max <[email protected]>Quoted 7 lines
Quoted 5 lines
Reviewed-by Antti Palosaari <[email protected]>I reviewed the patch v1 also :]
Antti
Thanks for your review!
This patch doesn't compile:
drivers/media/pci/smipcie/smipcie.c: In function 'smi_dvbsky_sit2_fe_attach':drivers/media/pci/smipcie/smipcie.c:637:2: error: implicit declaration of function 'smi_add_i2c_client' [-Werror=implicit-function-declaration]
client_demod=smi_add_i2c_client(i2c, &client_info);
^drivers/media/pci/smipcie/smipcie.c:637:15: warning: assignment makes pointer from integer without a cast [enabled by default]
Quoted 9 lines
client_demod = smi_add_i2c_client(i2c, &client_info);
^
drivers/media/pci/smipcie/smipcie.c:653:15: warning: assignment makes pointer from integer without a cast [enabled by default]
client_tuner = smi_add_i2c_client(tuner_i2c_adapter, &client_info);
^
drivers/media/pci/smipcie/smipcie.c:655:3: error: implicit declaration of function 'smi_del_i2c_client' [-Werror=implicit-function-declaration]
smi_del_i2c_client(port->i2c_client_demod);
^Hmm... actually patch 1/2 was marked as superseded, not sure why...
Let me review/apply patch 1/2 first and see if it will fixes the issue.
Regards,
Mauro
Quoted 147 lines
Quoted 147 lines
Best Regards,
MaxQuoted 126 lines
Quoted 126 lines
--- drivers/media/pci/smipcie/Kconfig | 3 ++ drivers/media/pci/smipcie/smipcie.c | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)drivers/media/pci/smipcie/Kconfig +3
-0@@ -2,12 +2,15 @@ config DVB_SMIPCIE tristate "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT + select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88TS2022 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT + select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT help Support for cards with SMI PCIe bridge: - DVBSky S950 V3 - DVBSky S952 V3 + - DVBSky T9580 V3 Say Y or M if you own such a device and want to use it. If unsure say N.drivers/media/pci/smipcie/smipcie.c +66
-0@@ -18,6 +18,8 @@#include "m88ds3103.h" #include "m88ts2022.h" #include "m88rs6000t.h" +#include "si2168.h" +#include "si2157.h" DVB_DEFINE_MOD_OPT_ADAPTER_NR (adapter_nr);@@ -618,6 +620,58 @@ err_tuner_i2c_device:return ret; } +static int smi_dvbsky_sit2_fe_attach (struct smi_port *port) +{ +int ret =0 ; +struct smi_dev *dev = port->dev; +struct i2c_adapter *i2c; +struct i2c_adapter *tuner_i2c_adapter; +struct i2c_client *client_tuner, *client_demod; +struct i2c_board_info client_info; +struct si2168_config si2168_config; +struct si2157_config si2157_config; + +/* select i2c bus */ + i2c = (port->idx ==0 ) ? &dev->i2c_bus[0 ] : &dev->i2c_bus[1 ]; + +/* attach demod */ +memset (&si2168_config,0 ,sizeof (si2168_config)); + si2168_config.i2c_adapter = &tuner_i2c_adapter; + si2168_config.fe = &port->fe; + si2168_config.ts_mode =SI2168_TS_PARALLEL ; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2168" ,I2C_NAME_SIZE ); + client_info.addr =0x64 ; + client_info.platform_data = &si2168_config; + + client_demod =smi_add_i2c_client (i2c, &client_info); +if (!client_demod) { + ret = -ENODEV ; +return ret; + } + port->i2c_client_demod = client_demod; + +/* attach tuner */ +memset (&si2157_config,0 ,sizeof (si2157_config)); + si2157_config.fe = port->fe; + +memset (&client_info,0 ,sizeof (struct i2c_board_info )); +strlcpy (client_info.type,"si2157" ,I2C_NAME_SIZE ); + client_info.addr =0x60 ; + client_info.platform_data = &si2157_config; + + client_tuner =smi_add_i2c_client (tuner_i2c_adapter, &client_info); +if (!client_tuner) { +smi_del_i2c_client (port->i2c_client_demod); + port->i2c_client_demod =NULL ; + ret = -ENODEV ; +return ret; + } + port->i2c_client_tuner = client_tuner; +return ret; +} +static int smi_fe_init (struct smi_port *port) {int ret =0 ;@@ -635,6 +689,9 @@ static int smi_fe_init(struct smi_port *port)case DVBSKY_FE_M88RS6000 : ret =smi_dvbsky_m88rs6000_fe_attach (port);break ; +case DVBSKY_FE_SIT2 : + ret =smi_dvbsky_sit2_fe_attach (port); +break ; }if (ret <0 )return ret;@@ -1005,6 +1062,15 @@ static struct smi_cfg_info dvbsky_s952_cfg = { .fe_1 = DVBSKY_FE_M88RS6000, }; +static struct smi_cfg_info dvbsky_t9580_cfg = { + .type =SMI_DVBSKY_T9580 , + .name ="DVBSky T9580 V3" , + .ts_0 =SMI_TS_DMA_BOTH , + .ts_1 =SMI_TS_DMA_BOTH , + .fe_0 =DVBSKY_FE_SIT2 , + .fe_1 =DVBSKY_FE_M88DS3103 , +}; +/* PCI IDs */ #define SMI_ID (_subvend, _subdev, _driverdata) { \ .vendor = SMI_VID, .device = SMI_PID, \@@ -1014,6 +1080,7 @@ static struct smi_cfg_info dvbsky_s952_cfg = {static const struct pci_device_id smi_id_table[] = {Quoted 11 lines
Quoted 8 lines
drivers/media/pci/smipcie/smipcie.c +1
-0SMI_ID (0x4254 ,0x0550 , dvbsky_s950_cfg),SMI_ID (0x4254 ,0x0552 , dvbsky_s952_cfg), +SMI_ID (0x4254 ,0x5580 , dvbsky_t9580_cfg), {0} };MODULE_DEVICE_TABLE (pci, smi_id_table);Signature · 1 line
http://palosaari.fi/--
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