Lines Matching refs:budget_av

69 struct budget_av {  struct
142 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_read_attribute_mem() local
148 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTHI); in ciintf_read_attribute_mem()
151 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 0xfff, 1, 0, 1); in ciintf_read_attribute_mem()
161 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_write_attribute_mem() local
167 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTHI); in ciintf_write_attribute_mem()
170 result = ttpci_budget_debiwrite(&budget_av->budget, DEBICICAM, address & 0xfff, 1, value, 0, 1); in ciintf_write_attribute_mem()
180 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_read_cam_control() local
186 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO); in ciintf_read_cam_control()
189 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 3, 1, 0, 0); in ciintf_read_cam_control()
200 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_write_cam_control() local
206 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO); in ciintf_write_cam_control()
209 result = ttpci_budget_debiwrite(&budget_av->budget, DEBICICAM, address & 3, 1, value, 0, 0); in ciintf_write_cam_control()
219 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_slot_reset() local
220 struct saa7146_dev *saa = budget_av->budget.dev; in ciintf_slot_reset()
226 budget_av->slot_status = SLOTSTATUS_RESET; in ciintf_slot_reset()
240 if (budget_av->reinitialise_demod) in ciintf_slot_reset()
241 dvb_frontend_reinitialise(budget_av->budget.dvb_frontend); in ciintf_slot_reset()
248 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_slot_shutdown() local
249 struct saa7146_dev *saa = budget_av->budget.dev; in ciintf_slot_shutdown()
257 budget_av->slot_status = SLOTSTATUS_NONE; in ciintf_slot_shutdown()
264 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_slot_ts_enable() local
265 struct saa7146_dev *saa = budget_av->budget.dev; in ciintf_slot_ts_enable()
270 dprintk(1, "ciintf_slot_ts_enable: %d\n", budget_av->slot_status); in ciintf_slot_ts_enable()
279 struct budget_av *budget_av = (struct budget_av *) ca->data; in ciintf_poll_slot_status() local
280 struct saa7146_dev *saa = budget_av->budget.dev; in ciintf_poll_slot_status()
288 if (budget_av->slot_status == SLOTSTATUS_NONE) { in ciintf_poll_slot_status()
292 if (budget_av->slot_status == SLOTSTATUS_NONE) { in ciintf_poll_slot_status()
293 budget_av->slot_status = SLOTSTATUS_PRESENT; in ciintf_poll_slot_status()
306 if ((budget_av->slot_status == SLOTSTATUS_NONE) || (!open)) { in ciintf_poll_slot_status()
307 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO); in ciintf_poll_slot_status()
308 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, 0, 1, 0, 1); in ciintf_poll_slot_status()
309 if ((result >= 0) && (budget_av->slot_status == SLOTSTATUS_NONE)) { in ciintf_poll_slot_status()
310 budget_av->slot_status = SLOTSTATUS_PRESENT; in ciintf_poll_slot_status()
313 if (budget_av->slot_status != SLOTSTATUS_NONE) { in ciintf_poll_slot_status()
322 if (budget_av->slot_status == SLOTSTATUS_RESET) { in ciintf_poll_slot_status()
325 budget_av->slot_status = SLOTSTATUS_READY; in ciintf_poll_slot_status()
330 if (budget_av->slot_status != SLOTSTATUS_NONE) { in ciintf_poll_slot_status()
331 if (budget_av->slot_status & SLOTSTATUS_READY) { in ciintf_poll_slot_status()
339 static int ciintf_init(struct budget_av *budget_av) in ciintf_init() argument
341 struct saa7146_dev *saa = budget_av->budget.dev; in ciintf_init()
344 memset(&budget_av->ca, 0, sizeof(struct dvb_ca_en50221)); in ciintf_init()
355 budget_av->ca.owner = THIS_MODULE; in ciintf_init()
356 budget_av->ca.read_attribute_mem = ciintf_read_attribute_mem; in ciintf_init()
357 budget_av->ca.write_attribute_mem = ciintf_write_attribute_mem; in ciintf_init()
358 budget_av->ca.read_cam_control = ciintf_read_cam_control; in ciintf_init()
359 budget_av->ca.write_cam_control = ciintf_write_cam_control; in ciintf_init()
360 budget_av->ca.slot_reset = ciintf_slot_reset; in ciintf_init()
361 budget_av->ca.slot_shutdown = ciintf_slot_shutdown; in ciintf_init()
362 budget_av->ca.slot_ts_enable = ciintf_slot_ts_enable; in ciintf_init()
363 budget_av->ca.poll_slot_status = ciintf_poll_slot_status; in ciintf_init()
364 budget_av->ca.data = budget_av; in ciintf_init()
365 budget_av->budget.ci_present = 1; in ciintf_init()
366 budget_av->slot_status = SLOTSTATUS_NONE; in ciintf_init()
368 if ((result = dvb_ca_en50221_init(&budget_av->budget.dvb_adapter, in ciintf_init()
369 &budget_av->ca, 0, 1)) != 0) { in ciintf_init()
382 static void ciintf_deinit(struct budget_av *budget_av) in ciintf_deinit() argument
384 struct saa7146_dev *saa = budget_av->budget.dev; in ciintf_deinit()
392 dvb_ca_en50221_release(&budget_av->ca); in ciintf_deinit()
428 static int saa7113_init(struct budget_av *budget_av) in saa7113_init() argument
430 struct budget *budget = &budget_av->budget; in saa7113_init()
454 static int saa7113_setinput(struct budget_av *budget_av, int input) in saa7113_setinput() argument
456 struct budget *budget = &budget_av->budget; in saa7113_setinput()
458 if (1 != budget_av->has_saa7113) in saa7113_setinput()
470 budget_av->cur_input = input; in saa7113_setinput()
1168 static u8 read_pwm(struct budget_av *budget_av) in read_pwm() argument
1176 if ((i2c_transfer(&budget_av->budget.i2c_adap, msg, 2) != 2) in read_pwm()
1213 static void frontend_init(struct budget_av *budget_av) in frontend_init() argument
1215 struct saa7146_dev * saa = budget_av->budget.dev; in frontend_init()
1245 budget_av->reinitialise_demod = 1; in frontend_init()
1251 &budget_av->budget.i2c_adap); in frontend_init()
1253 dvb_attach(tua6100_attach, fe, 0x60, &budget_av->budget.i2c_adap); in frontend_init()
1257 &budget_av->budget.i2c_adap); in frontend_init()
1271 &budget_av->budget.i2c_adap); in frontend_init()
1274 &budget_av->budget.i2c_adap, in frontend_init()
1281 &budget_av->budget.i2c_adap); in frontend_init()
1289 budget_av->reinitialise_demod = 1; in frontend_init()
1290 if ((fe = dvb_attach(stb0899_attach, &knc1_dvbs2_config, &budget_av->budget.i2c_adap))) in frontend_init()
1291 dvb_attach(tda8261_attach, fe, &sd1878c_config, &budget_av->budget.i2c_adap); in frontend_init()
1296 &budget_av->budget.i2c_adap); in frontend_init()
1306 budget_av->reinitialise_demod = 1; in frontend_init()
1307 budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240; in frontend_init()
1309 &budget_av->budget.i2c_adap, in frontend_init()
1310 read_pwm(budget_av)); in frontend_init()
1313 &budget_av->budget.i2c_adap, in frontend_init()
1314 read_pwm(budget_av)); in frontend_init()
1325 budget_av->reinitialise_demod = 1; in frontend_init()
1326 budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240; in frontend_init()
1329 &budget_av->budget.i2c_adap, in frontend_init()
1330 read_pwm(budget_av)); in frontend_init()
1340 budget_av->reinitialise_demod = 1; in frontend_init()
1342 &budget_av->budget.i2c_adap); in frontend_init()
1359 budget_av->budget.dvb_frontend = fe; in frontend_init()
1361 if (dvb_register_frontend(&budget_av->budget.dvb_adapter, in frontend_init()
1362 budget_av->budget.dvb_frontend)) { in frontend_init()
1364 dvb_frontend_detach(budget_av->budget.dvb_frontend); in frontend_init()
1365 budget_av->budget.dvb_frontend = NULL; in frontend_init()
1372 struct budget_av *budget_av = (struct budget_av *) dev->ext_priv; in budget_av_irq() local
1374 dprintk(8, "dev: %p, budget_av: %p\n", dev, budget_av); in budget_av_irq()
1382 struct budget_av *budget_av = (struct budget_av *) dev->ext_priv; in budget_av_detach() local
1387 if (1 == budget_av->has_saa7113) { in budget_av_detach()
1392 saa7146_unregister_device(&budget_av->vd, dev); in budget_av_detach()
1397 if (budget_av->budget.ci_present) in budget_av_detach()
1398 ciintf_deinit(budget_av); in budget_av_detach()
1400 if (budget_av->budget.dvb_frontend != NULL) { in budget_av_detach()
1401 dvb_unregister_frontend(budget_av->budget.dvb_frontend); in budget_av_detach()
1402 dvb_frontend_detach(budget_av->budget.dvb_frontend); in budget_av_detach()
1404 err = ttpci_budget_deinit(&budget_av->budget); in budget_av_detach()
1406 kfree(budget_av); in budget_av_detach()
1431 struct budget_av *budget_av = (struct budget_av *)dev->ext_priv; in vidioc_g_input() local
1433 *i = budget_av->cur_input; in vidioc_g_input()
1442 struct budget_av *budget_av = (struct budget_av *)dev->ext_priv; in vidioc_s_input() local
1445 return saa7113_setinput(budget_av, input); in vidioc_s_input()
1452 struct budget_av *budget_av; in budget_av_attach() local
1458 if (!(budget_av = kzalloc(sizeof(struct budget_av), GFP_KERNEL))) in budget_av_attach()
1461 budget_av->has_saa7113 = 0; in budget_av_attach()
1462 budget_av->budget.ci_present = 0; in budget_av_attach()
1464 dev->ext_priv = budget_av; in budget_av_attach()
1466 err = ttpci_budget_init(&budget_av->budget, dev, info, THIS_MODULE, in budget_av_attach()
1469 kfree(budget_av); in budget_av_attach()
1478 if (saa7113_init(budget_av) == 0) { in budget_av_attach()
1479 budget_av->has_saa7113 = 1; in budget_av_attach()
1490 if ((err = saa7146_register_device(&budget_av->vd, dev, "knc1", VFL_TYPE_GRABBER))) { in budget_av_attach()
1501 saa7113_setinput(budget_av, 0); in budget_av_attach()
1507 mac = budget_av->budget.dvb_adapter.proposed_mac; in budget_av_attach()
1508 if (i2c_readregs(&budget_av->budget.i2c_adap, 0xa0, 0x30, mac, 6)) { in budget_av_attach()
1510 budget_av->budget.dvb_adapter.num); in budget_av_attach()
1514 budget_av->budget.dvb_adapter.num, mac); in budget_av_attach()
1517 budget_av->budget.dvb_adapter.priv = budget_av; in budget_av_attach()
1518 frontend_init(budget_av); in budget_av_attach()
1519 ciintf_init(budget_av); in budget_av_attach()
1521 ttpci_budget_init_hooks(&budget_av->budget); in budget_av_attach()