Lines Matching defs:budget_av

53 struct budget_av {
126 struct budget_av *budget_av = ca->data;
132 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTHI);
135 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 0xfff, 1, 0, 1);
145 struct budget_av *budget_av = ca->data;
151 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTHI);
154 result = ttpci_budget_debiwrite(&budget_av->budget, DEBICICAM, address & 0xfff, 1, value, 0, 1);
164 struct budget_av *budget_av = ca->data;
170 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO);
173 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 3, 1, 0, 0);
184 struct budget_av *budget_av = ca->data;
190 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO);
193 result = ttpci_budget_debiwrite(&budget_av->budget, DEBICICAM, address & 3, 1, value, 0, 0);
203 struct budget_av *budget_av = ca->data;
204 struct saa7146_dev *saa = budget_av->budget.dev;
210 budget_av->slot_status = SLOTSTATUS_RESET;
224 if (budget_av->reinitialise_demod)
225 dvb_frontend_reinitialise(budget_av->budget.dvb_frontend);
232 struct budget_av *budget_av = ca->data;
233 struct saa7146_dev *saa = budget_av->budget.dev;
241 budget_av->slot_status = SLOTSTATUS_NONE;
248 struct budget_av *budget_av = ca->data;
249 struct saa7146_dev *saa = budget_av->budget.dev;
254 dprintk(1, "ciintf_slot_ts_enable: %d\n", budget_av->slot_status);
263 struct budget_av *budget_av = ca->data;
264 struct saa7146_dev *saa = budget_av->budget.dev;
272 if (budget_av->slot_status == SLOTSTATUS_NONE) {
276 if (budget_av->slot_status == SLOTSTATUS_NONE) {
277 budget_av->slot_status = SLOTSTATUS_PRESENT;
290 if ((budget_av->slot_status == SLOTSTATUS_NONE) || (!open)) {
291 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO);
292 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, 0, 1, 0, 1);
293 if ((result >= 0) && (budget_av->slot_status == SLOTSTATUS_NONE)) {
294 budget_av->slot_status = SLOTSTATUS_PRESENT;
297 if (budget_av->slot_status != SLOTSTATUS_NONE) {
306 if (budget_av->slot_status == SLOTSTATUS_RESET) {
309 budget_av->slot_status = SLOTSTATUS_READY;
314 if (budget_av->slot_status != SLOTSTATUS_NONE) {
315 if (budget_av->slot_status & SLOTSTATUS_READY) {
323 static int ciintf_init(struct budget_av *budget_av)
325 struct saa7146_dev *saa = budget_av->budget.dev;
328 memset(&budget_av->ca, 0, sizeof(struct dvb_ca_en50221));
339 budget_av->ca.owner = THIS_MODULE;
340 budget_av->ca.read_attribute_mem = ciintf_read_attribute_mem;
341 budget_av->ca.write_attribute_mem = ciintf_write_attribute_mem;
342 budget_av->ca.read_cam_control = ciintf_read_cam_control;
343 budget_av->ca.write_cam_control = ciintf_write_cam_control;
344 budget_av->ca.slot_reset = ciintf_slot_reset;
345 budget_av->ca.slot_shutdown = ciintf_slot_shutdown;
346 budget_av->ca.slot_ts_enable = ciintf_slot_ts_enable;
347 budget_av->ca.poll_slot_status = ciintf_poll_slot_status;
348 budget_av->ca.data = budget_av;
349 budget_av->budget.ci_present = 1;
350 budget_av->slot_status = SLOTSTATUS_NONE;
352 if ((result = dvb_ca_en50221_init(&budget_av->budget.dvb_adapter,
353 &budget_av->ca, 0, 1)) != 0) {
366 static void ciintf_deinit(struct budget_av *budget_av)
368 struct saa7146_dev *saa = budget_av->budget.dev;
376 dvb_ca_en50221_release(&budget_av->ca);
412 static int saa7113_init(struct budget_av *budget_av)
414 struct budget *budget = &budget_av->budget;
438 static int saa7113_setinput(struct budget_av *budget_av, int input)
440 struct budget *budget = &budget_av->budget;
442 if (1 != budget_av->has_saa7113)
454 budget_av->cur_input = input;
1152 static u8 read_pwm(struct budget_av *budget_av)
1160 if ((i2c_transfer(&budget_av->budget.i2c_adap, msg, 2) != 2)
1197 static void frontend_init(struct budget_av *budget_av)
1199 struct saa7146_dev * saa = budget_av->budget.dev;
1229 budget_av->reinitialise_demod = 1;
1235 &budget_av->budget.i2c_adap);
1237 dvb_attach(tua6100_attach, fe, 0x60, &budget_av->budget.i2c_adap);
1241 &budget_av->budget.i2c_adap);
1255 &budget_av->budget.i2c_adap);
1258 &budget_av->budget.i2c_adap,
1265 &budget_av->budget.i2c_adap);
1273 budget_av->reinitialise_demod = 1;
1274 if ((fe = dvb_attach(stb0899_attach, &knc1_dvbs2_config, &budget_av->budget.i2c_adap)))
1275 dvb_attach(tda8261_attach, fe, &sd1878c_config, &budget_av->budget.i2c_adap);
1280 &budget_av->budget.i2c_adap);
1290 budget_av->reinitialise_demod = 1;
1291 budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
1293 &budget_av->budget.i2c_adap,
1294 read_pwm(budget_av));
1297 &budget_av->budget.i2c_adap,
1298 read_pwm(budget_av));
1309 budget_av->reinitialise_demod = 1;
1310 budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
1313 &budget_av->budget.i2c_adap,
1314 read_pwm(budget_av));
1324 budget_av->reinitialise_demod = 1;
1326 &budget_av->budget.i2c_adap);
1343 budget_av->budget.dvb_frontend = fe;
1345 if (dvb_register_frontend(&budget_av->budget.dvb_adapter,
1346 budget_av->budget.dvb_frontend)) {
1348 dvb_frontend_detach(budget_av->budget.dvb_frontend);
1349 budget_av->budget.dvb_frontend = NULL;
1356 struct budget_av *budget_av = dev->ext_priv;
1358 dprintk(8, "dev: %p, budget_av: %p\n", dev, budget_av);
1366 struct budget_av *budget_av = dev->ext_priv;
1371 if (1 == budget_av->has_saa7113) {
1376 saa7146_unregister_device(&budget_av->vd, dev);
1381 if (budget_av->budget.ci_present)
1382 ciintf_deinit(budget_av);
1384 if (budget_av->budget.dvb_frontend != NULL) {
1385 dvb_unregister_frontend(budget_av->budget.dvb_frontend);
1386 dvb_frontend_detach(budget_av->budget.dvb_frontend);
1388 err = ttpci_budget_deinit(&budget_av->budget);
1390 kfree(budget_av);
1415 struct budget_av *budget_av = dev->ext_priv;
1417 *i = budget_av->cur_input;
1426 struct budget_av *budget_av = dev->ext_priv;
1429 return saa7113_setinput(budget_av, input);
1436 struct budget_av *budget_av;
1442 if (!(budget_av = kzalloc(sizeof(struct budget_av), GFP_KERNEL)))
1445 budget_av->has_saa7113 = 0;
1446 budget_av->budget.ci_present = 0;
1448 dev->ext_priv = budget_av;
1450 err = ttpci_budget_init(&budget_av->budget, dev, info, THIS_MODULE,
1453 kfree(budget_av);
1462 if (saa7113_init(budget_av) == 0) {
1463 budget_av->has_saa7113 = 1;
1466 ttpci_budget_deinit(&budget_av->budget);
1467 kfree(budget_av);
1475 if ((err = saa7146_register_device(&budget_av->vd, dev, "knc1", VFL_TYPE_VIDEO))) {
1477 ttpci_budget_deinit(&budget_av->budget);
1478 kfree(budget_av);
1487 saa7113_setinput(budget_av, 0);
1493 mac = budget_av->budget.dvb_adapter.proposed_mac;
1494 if (i2c_readregs(&budget_av->budget.i2c_adap, 0xa0, 0x30, mac, 6)) {
1496 budget_av->budget.dvb_adapter.num);
1500 budget_av->budget.dvb_adapter.num, mac);
1503 budget_av->budget.dvb_adapter.priv = budget_av;
1504 frontend_init(budget_av);
1505 ciintf_init(budget_av);
1507 ttpci_budget_init_hooks(&budget_av->budget);
1597 .name = "budget_av",