]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/media/pci/dm1105/dm1105.c
[media] drivers/media/pci/dm1105/dm1105: Convert to module_pci_driver
[karo-tx-linux.git] / drivers / media / pci / dm1105 / dm1105.c
index 904c3ea350f5468a0161a70d2d3672f038662a8e..ab797fe466d2dcd6d389f3ace68e77ec17021bd5 100644 (file)
@@ -45,6 +45,7 @@
 #include "si21xx.h"
 #include "cx24116.h"
 #include "z0194a.h"
+#include "ts2020.h"
 #include "ds3000.h"
 
 #define MODULE_NAME "dm1105"
@@ -849,6 +850,11 @@ static struct ds3000_config dvbworld_ds3000_config = {
        .demod_address = 0x68,
 };
 
+static struct ts2020_config dvbworld_ts2020_config  = {
+       .tuner_address = 0x60,
+       .clk_out_div = 1,
+};
+
 static int frontend_init(struct dm1105_dev *dev)
 {
        int ret;
@@ -898,8 +904,11 @@ static int frontend_init(struct dm1105_dev *dev)
                dev->fe = dvb_attach(
                        ds3000_attach, &dvbworld_ds3000_config,
                        &dev->i2c_adap);
-               if (dev->fe)
+               if (dev->fe) {
+                       dvb_attach(ts2020_attach, dev->fe,
+                               &dvbworld_ts2020_config, &dev->i2c_adap);
                        dev->fe->ops.set_voltage = dm1105_set_voltage;
+               }
 
                break;
        case DM1105_BOARD_DVBWORLD_2002:
@@ -1232,18 +1241,7 @@ static struct pci_driver dm1105_driver = {
        .remove = dm1105_remove,
 };
 
-static int __init dm1105_init(void)
-{
-       return pci_register_driver(&dm1105_driver);
-}
-
-static void __exit dm1105_exit(void)
-{
-       pci_unregister_driver(&dm1105_driver);
-}
-
-module_init(dm1105_init);
-module_exit(dm1105_exit);
+module_pci_driver(dm1105_driver);
 
 MODULE_AUTHOR("Igor M. Liplianin <liplianin@me.by>");
 MODULE_DESCRIPTION("SDMC DM1105 DVB driver");