Lines Matching refs:dev

17 static int smi_hw_init(struct smi_dev *dev)  in smi_hw_init()  argument
62 static void smi_i2c_cfg(struct smi_dev *dev, u32 sw_ctl) in smi_i2c_cfg() argument
78 static void smi_i2c_setsda(struct smi_dev *dev, int state, u32 sw_ctl) in smi_i2c_setsda() argument
92 struct smi_dev *dev = data; in smi_i2c_setscl() local
106 struct smi_dev *dev = data; in smi_i2c_getsda() local
115 struct smi_dev *dev = data; in smi_i2c_getscl() local
124 struct smi_dev *dev = data; in smi_i2c0_setsda() local
126 smi_i2c_setsda(dev, state, I2C_A_SW_CTL); in smi_i2c0_setsda()
131 struct smi_dev *dev = data; in smi_i2c0_setscl() local
133 smi_i2c_setscl(dev, state, I2C_A_SW_CTL); in smi_i2c0_setscl()
138 struct smi_dev *dev = data; in smi_i2c0_getsda() local
140 return smi_i2c_getsda(dev, I2C_A_SW_CTL); in smi_i2c0_getsda()
145 struct smi_dev *dev = data; in smi_i2c0_getscl() local
147 return smi_i2c_getscl(dev, I2C_A_SW_CTL); in smi_i2c0_getscl()
152 struct smi_dev *dev = data; in smi_i2c1_setsda() local
154 smi_i2c_setsda(dev, state, I2C_B_SW_CTL); in smi_i2c1_setsda()
159 struct smi_dev *dev = data; in smi_i2c1_setscl() local
161 smi_i2c_setscl(dev, state, I2C_B_SW_CTL); in smi_i2c1_setscl()
166 struct smi_dev *dev = data; in smi_i2c1_getsda() local
168 return smi_i2c_getsda(dev, I2C_B_SW_CTL); in smi_i2c1_getsda()
173 struct smi_dev *dev = data; in smi_i2c1_getscl() local
175 return smi_i2c_getscl(dev, I2C_B_SW_CTL); in smi_i2c1_getscl()
178 static int smi_i2c_init(struct smi_dev *dev) in smi_i2c_init() argument
183 smi_i2c_cfg(dev, I2C_A_SW_CTL); in smi_i2c_init()
184 i2c_set_adapdata(&dev->i2c_bus[0], dev); in smi_i2c_init()
185 strscpy(dev->i2c_bus[0].name, "SMI-I2C0", sizeof(dev->i2c_bus[0].name)); in smi_i2c_init()
186 dev->i2c_bus[0].owner = THIS_MODULE; in smi_i2c_init()
187 dev->i2c_bus[0].dev.parent = &dev->pci_dev->dev; in smi_i2c_init()
188 dev->i2c_bus[0].algo_data = &dev->i2c_bit[0]; in smi_i2c_init()
189 dev->i2c_bit[0].data = dev; in smi_i2c_init()
190 dev->i2c_bit[0].setsda = smi_i2c0_setsda; in smi_i2c_init()
191 dev->i2c_bit[0].setscl = smi_i2c0_setscl; in smi_i2c_init()
192 dev->i2c_bit[0].getsda = smi_i2c0_getsda; in smi_i2c_init()
193 dev->i2c_bit[0].getscl = smi_i2c0_getscl; in smi_i2c_init()
194 dev->i2c_bit[0].udelay = 12; in smi_i2c_init()
195 dev->i2c_bit[0].timeout = 10; in smi_i2c_init()
197 smi_i2c0_setsda(dev, 1); in smi_i2c_init()
198 smi_i2c0_setscl(dev, 1); in smi_i2c_init()
200 ret = i2c_bit_add_bus(&dev->i2c_bus[0]); in smi_i2c_init()
205 smi_i2c_cfg(dev, I2C_B_SW_CTL); in smi_i2c_init()
206 i2c_set_adapdata(&dev->i2c_bus[1], dev); in smi_i2c_init()
207 strscpy(dev->i2c_bus[1].name, "SMI-I2C1", sizeof(dev->i2c_bus[1].name)); in smi_i2c_init()
208 dev->i2c_bus[1].owner = THIS_MODULE; in smi_i2c_init()
209 dev->i2c_bus[1].dev.parent = &dev->pci_dev->dev; in smi_i2c_init()
210 dev->i2c_bus[1].algo_data = &dev->i2c_bit[1]; in smi_i2c_init()
211 dev->i2c_bit[1].data = dev; in smi_i2c_init()
212 dev->i2c_bit[1].setsda = smi_i2c1_setsda; in smi_i2c_init()
213 dev->i2c_bit[1].setscl = smi_i2c1_setscl; in smi_i2c_init()
214 dev->i2c_bit[1].getsda = smi_i2c1_getsda; in smi_i2c_init()
215 dev->i2c_bit[1].getscl = smi_i2c1_getscl; in smi_i2c_init()
216 dev->i2c_bit[1].udelay = 12; in smi_i2c_init()
217 dev->i2c_bit[1].timeout = 10; in smi_i2c_init()
219 smi_i2c1_setsda(dev, 1); in smi_i2c_init()
220 smi_i2c1_setscl(dev, 1); in smi_i2c_init()
222 ret = i2c_bit_add_bus(&dev->i2c_bus[1]); in smi_i2c_init()
224 i2c_del_adapter(&dev->i2c_bus[0]); in smi_i2c_init()
229 static void smi_i2c_exit(struct smi_dev *dev) in smi_i2c_exit() argument
231 i2c_del_adapter(&dev->i2c_bus[0]); in smi_i2c_exit()
232 i2c_del_adapter(&dev->i2c_bus[1]); in smi_i2c_exit()
250 dev_err(&i2c->dev, "%s: reg=0x%x (error=%d)\n", in smi_read_eeprom()
260 struct smi_dev *dev = port->dev; in smi_port_disableInterrupt() local
268 struct smi_dev *dev = port->dev; in smi_port_enableInterrupt() local
276 struct smi_dev *dev = port->dev; in smi_port_clearInterrupt() local
286 struct smi_dev *dev = port->dev; in smi_dma_xfer() local
297 dev_dbg(&dev->pci_dev->dev, in smi_dma_xfer()
309 dev_dbg(&dev->pci_dev->dev, in smi_dma_xfer()
320 dev_dbg(&dev->pci_dev->dev, in smi_dma_xfer()
332 dev_dbg(&dev->pci_dev->dev, in smi_dma_xfer()
354 dma_free_coherent(&port->dev->pci_dev->dev, in smi_port_dma_free()
360 dma_free_coherent(&port->dev->pci_dev->dev, in smi_port_dma_free()
369 dev_dbg(&port->dev->pci_dev->dev, in smi_port_init()
403 port->cpu_addr[0] = dma_alloc_coherent(&port->dev->pci_dev->dev, in smi_port_init()
408 dev_err(&port->dev->pci_dev->dev, in smi_port_init()
416 port->cpu_addr[1] = dma_alloc_coherent(&port->dev->pci_dev->dev, in smi_port_init()
421 dev_err(&port->dev->pci_dev->dev, in smi_port_init()
463 struct smi_dev *dev = dev_id; in smi_irq_handler() local
464 struct smi_port *port0 = &dev->ts_port[0]; in smi_irq_handler()
465 struct smi_port *port1 = &dev->ts_port[1]; in smi_irq_handler()
466 struct smi_rc *ir = &dev->ir; in smi_irq_handler()
472 if (dev->info->ts_0) in smi_irq_handler()
476 if (dev->info->ts_1) in smi_irq_handler()
495 if (!try_module_get(client->dev.driver->owner)) { in smi_add_i2c_client()
508 module_put(client->dev.driver->owner); in smi_del_i2c_client()
528 struct smi_dev *dev = port->dev; in smi_dvbsky_m88ds3103_fe_attach() local
536 i2c = (port->idx == 0) ? &dev->i2c_bus[0] : &dev->i2c_bus[1]; in smi_dvbsky_m88ds3103_fe_attach()
583 struct smi_dev *dev = port->dev; in smi_dvbsky_m88rs6000_fe_attach() local
592 i2c = (port->idx == 0) ? &dev->i2c_bus[0] : &dev->i2c_bus[1]; in smi_dvbsky_m88rs6000_fe_attach()
627 struct smi_dev *dev = port->dev; in smi_dvbsky_sit2_fe_attach() local
636 i2c = (port->idx == 0) ? &dev->i2c_bus[0] : &dev->i2c_bus[1]; in smi_dvbsky_sit2_fe_attach()
680 struct smi_dev *dev = port->dev; in smi_fe_init() local
684 dev_dbg(&port->dev->pci_dev->dev, in smi_fe_init()
712 ret = smi_read_eeprom(&dev->i2c_bus[0], 0xc0, mac_ee, 16); in smi_fe_init()
713 dev_info(&port->dev->pci_dev->dev, in smi_fe_init()
714 "%s port %d MAC: %pM\n", dev->info->name, in smi_fe_init()
773 struct smi_dev *dev = port->dev; in smi_config_DMA() local
818 struct smi_dev *dev = port->dev; in smi_start_feed() local
835 struct smi_dev *dev = port->dev; in smi_stop_feed() local
852 dev_dbg(&port->dev->pci_dev->dev, in smi_dvb_init()
856 &port->dev->pci_dev->dev, in smi_dvb_init()
859 dev_err(&port->dev->pci_dev->dev, "Fail to register DVB adapter.\n"); in smi_dvb_init()
905 static int smi_port_attach(struct smi_dev *dev, in smi_port_attach() argument
910 port->dev = dev; in smi_port_attach()
912 port->fe_type = (index == 0) ? dev->info->fe_0 : dev->info->fe_1; in smi_port_attach()
913 dmachs = (index == 0) ? dev->info->ts_0 : dev->info->ts_1; in smi_port_attach()
943 struct smi_dev *dev; in smi_probe() local
949 dev = kzalloc(sizeof(struct smi_dev), GFP_KERNEL); in smi_probe()
950 if (!dev) { in smi_probe()
955 dev->pci_dev = pdev; in smi_probe()
956 pci_set_drvdata(pdev, dev); in smi_probe()
957 dev->info = (struct smi_cfg_info *) id->driver_data; in smi_probe()
958 dev_info(&dev->pci_dev->dev, in smi_probe()
959 "card detected: %s\n", dev->info->name); in smi_probe()
961 dev->nr = dev->info->type; in smi_probe()
962 dev->lmmio = ioremap(pci_resource_start(dev->pci_dev, 0), in smi_probe()
963 pci_resource_len(dev->pci_dev, 0)); in smi_probe()
964 if (!dev->lmmio) { in smi_probe()
970 ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); in smi_probe()
976 ret = smi_hw_init(dev); in smi_probe()
980 ret = smi_i2c_init(dev); in smi_probe()
984 if (dev->info->ts_0) { in smi_probe()
985 ret = smi_port_attach(dev, &dev->ts_port[0], 0); in smi_probe()
990 if (dev->info->ts_1) { in smi_probe()
991 ret = smi_port_attach(dev, &dev->ts_port[1], 1); in smi_probe()
996 ret = smi_ir_init(dev); in smi_probe()
1002 ret = pci_enable_msi(dev->pci_dev); in smi_probe()
1004 dev_info(&dev->pci_dev->dev, "MSI not available.\n"); in smi_probe()
1007 ret = request_irq(dev->pci_dev->irq, smi_irq_handler, in smi_probe()
1008 IRQF_SHARED, "SMI_PCIE", dev); in smi_probe()
1012 smi_ir_start(&dev->ir); in smi_probe()
1016 smi_ir_exit(dev); in smi_probe()
1018 if (dev->info->ts_1) in smi_probe()
1019 smi_port_detach(&dev->ts_port[1]); in smi_probe()
1021 if (dev->info->ts_0) in smi_probe()
1022 smi_port_detach(&dev->ts_port[0]); in smi_probe()
1024 smi_i2c_exit(dev); in smi_probe()
1026 iounmap(dev->lmmio); in smi_probe()
1029 kfree(dev); in smi_probe()
1037 struct smi_dev *dev = pci_get_drvdata(pdev); in smi_remove() local
1040 free_irq(dev->pci_dev->irq, dev); in smi_remove()
1042 pci_disable_msi(dev->pci_dev); in smi_remove()
1044 if (dev->info->ts_1) in smi_remove()
1045 smi_port_detach(&dev->ts_port[1]); in smi_remove()
1046 if (dev->info->ts_0) in smi_remove()
1047 smi_port_detach(&dev->ts_port[0]); in smi_remove()
1049 smi_ir_exit(dev); in smi_remove()
1050 smi_i2c_exit(dev); in smi_remove()
1051 iounmap(dev->lmmio); in smi_remove()
1054 kfree(dev); in smi_remove()