Lines Matching refs:d
61 static int cxusb_ctrl_msg(struct dvb_usb_device *d, in cxusb_ctrl_msg() argument
78 return dvb_usb_generic_write(d, sndbuf, 1+wlen); in cxusb_ctrl_msg()
80 return dvb_usb_generic_rw(d, sndbuf, 1+wlen, rbuf, rlen, 0); in cxusb_ctrl_msg()
84 static void cxusb_gpio_tuner(struct dvb_usb_device *d, int onoff) in cxusb_gpio_tuner() argument
86 struct cxusb_state *st = d->priv; in cxusb_gpio_tuner()
94 cxusb_ctrl_msg(d, CMD_GPIO_WRITE, o, 2, &i, 1); in cxusb_gpio_tuner()
102 static int cxusb_bluebird_gpio_rw(struct dvb_usb_device *d, u8 changemask, in cxusb_bluebird_gpio_rw() argument
111 rc = cxusb_ctrl_msg(d, CMD_BLUEBIRD_GPIO_RW, o, 2, &gpio_state, 1); in cxusb_bluebird_gpio_rw()
118 static void cxusb_bluebird_gpio_pulse(struct dvb_usb_device *d, u8 pin, int low) in cxusb_bluebird_gpio_pulse() argument
120 cxusb_bluebird_gpio_rw(d, pin, low ? 0 : pin); in cxusb_bluebird_gpio_pulse()
122 cxusb_bluebird_gpio_rw(d, pin, low ? pin : 0); in cxusb_bluebird_gpio_pulse()
125 static void cxusb_nano2_led(struct dvb_usb_device *d, int onoff) in cxusb_nano2_led() argument
127 cxusb_bluebird_gpio_rw(d, 0x40, onoff ? 0 : 0x40); in cxusb_nano2_led()
130 static int cxusb_d680_dmb_gpio_tuner(struct dvb_usb_device *d, in cxusb_d680_dmb_gpio_tuner() argument
137 rc = cxusb_ctrl_msg(d, CMD_GPIO_WRITE, o, 2, &i, 1); in cxusb_d680_dmb_gpio_tuner()
153 struct dvb_usb_device *d = i2c_get_adapdata(adap); in cxusb_i2c_xfer() local
157 if (mutex_lock_interruptible(&d->i2c_mutex) < 0) in cxusb_i2c_xfer()
162 if (le16_to_cpu(d->udev->descriptor.idVendor) == USB_VID_MEDION) in cxusb_i2c_xfer()
165 cxusb_gpio_tuner(d, 0); in cxusb_i2c_xfer()
168 cxusb_gpio_tuner(d, 1); in cxusb_i2c_xfer()
185 if (cxusb_ctrl_msg(d, CMD_I2C_READ, in cxusb_i2c_xfer()
214 if (cxusb_ctrl_msg(d, CMD_I2C_READ, in cxusb_i2c_xfer()
239 if (cxusb_ctrl_msg(d, CMD_I2C_WRITE, obuf, in cxusb_i2c_xfer()
253 mutex_unlock(&d->i2c_mutex); in cxusb_i2c_xfer()
267 static int cxusb_power_ctrl(struct dvb_usb_device *d, int onoff) in cxusb_power_ctrl() argument
271 return cxusb_ctrl_msg(d, CMD_POWER_ON, &b, 1, NULL, 0); in cxusb_power_ctrl()
273 return cxusb_ctrl_msg(d, CMD_POWER_OFF, &b, 1, NULL, 0); in cxusb_power_ctrl()
276 static int cxusb_aver_power_ctrl(struct dvb_usb_device *d, int onoff) in cxusb_aver_power_ctrl() argument
280 return cxusb_ctrl_msg(d, CMD_POWER_OFF, NULL, 0, NULL, 0); in cxusb_aver_power_ctrl()
281 if (d->state == DVB_USB_STATE_INIT && in cxusb_aver_power_ctrl()
282 usb_set_interface(d->udev, 0, 0) < 0) in cxusb_aver_power_ctrl()
284 do {} while (!(ret = cxusb_ctrl_msg(d, CMD_POWER_ON, NULL, 0, NULL, 0)) && in cxusb_aver_power_ctrl()
285 !(ret = cxusb_ctrl_msg(d, 0x15, NULL, 0, NULL, 0)) && in cxusb_aver_power_ctrl()
286 !(ret = cxusb_ctrl_msg(d, 0x17, NULL, 0, NULL, 0)) && 0); in cxusb_aver_power_ctrl()
305 ret = cxusb_ctrl_msg(d, CMD_I2C_WRITE, in cxusb_aver_power_ctrl()
316 static int cxusb_bluebird_power_ctrl(struct dvb_usb_device *d, int onoff) in cxusb_bluebird_power_ctrl() argument
320 return cxusb_ctrl_msg(d, CMD_POWER_ON, &b, 1, NULL, 0); in cxusb_bluebird_power_ctrl()
325 static int cxusb_nano2_power_ctrl(struct dvb_usb_device *d, int onoff) in cxusb_nano2_power_ctrl() argument
329 rc = cxusb_power_ctrl(d, onoff); in cxusb_nano2_power_ctrl()
331 cxusb_nano2_led(d, 0); in cxusb_nano2_power_ctrl()
336 static int cxusb_d680_dmb_power_ctrl(struct dvb_usb_device *d, int onoff) in cxusb_d680_dmb_power_ctrl() argument
340 ret = cxusb_power_ctrl(d, onoff); in cxusb_d680_dmb_power_ctrl()
345 cxusb_ctrl_msg(d, CMD_DIGITAL, NULL, 0, &b, 1); in cxusb_d680_dmb_power_ctrl()
371 static void cxusb_d680_dmb_drain_message(struct dvb_usb_device *d) in cxusb_d680_dmb_drain_message() argument
373 int ep = d->props.generic_bulk_ctrl_endpoint; in cxusb_d680_dmb_drain_message()
384 if (usb_bulk_msg(d->udev, in cxusb_d680_dmb_drain_message()
385 usb_rcvbulkpipe(d->udev, ep), in cxusb_d680_dmb_drain_message()
394 static void cxusb_d680_dmb_drain_video(struct dvb_usb_device *d) in cxusb_d680_dmb_drain_video() argument
396 struct usb_data_stream_properties *p = &d->props.adapter[0].fe[0].stream; in cxusb_d680_dmb_drain_video()
407 if (usb_bulk_msg(d->udev, in cxusb_d680_dmb_drain_video()
408 usb_rcvbulkpipe(d->udev, p->endpoint), in cxusb_d680_dmb_drain_video()
432 static int cxusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state) in cxusb_rc_query() argument
434 struct rc_map_table *keymap = d->props.rc.legacy.rc_map_table; in cxusb_rc_query()
438 cxusb_ctrl_msg(d, CMD_GET_IR_CODE, NULL, 0, ircode, 4); in cxusb_rc_query()
443 for (i = 0; i < d->props.rc.legacy.rc_map_size; i++) { in cxusb_rc_query()
456 static int cxusb_bluebird2_rc_query(struct dvb_usb_device *d, u32 *event, in cxusb_bluebird2_rc_query() argument
459 struct rc_map_table *keymap = d->props.rc.legacy.rc_map_table; in cxusb_bluebird2_rc_query()
468 if (cxusb_i2c_xfer(&d->i2c_adap, &msg, 1) != 1) in cxusb_bluebird2_rc_query()
471 for (i = 0; i < d->props.rc.legacy.rc_map_size; i++) { in cxusb_bluebird2_rc_query()
484 static int cxusb_d680_dmb_rc_query(struct dvb_usb_device *d, u32 *event, in cxusb_d680_dmb_rc_query() argument
487 struct rc_map_table *keymap = d->props.rc.legacy.rc_map_table; in cxusb_d680_dmb_rc_query()
494 if (cxusb_ctrl_msg(d, 0x10, NULL, 0, ircode, 2) < 0) in cxusb_d680_dmb_rc_query()
497 for (i = 0; i < d->props.rc.legacy.rc_map_size; i++) { in cxusb_d680_dmb_rc_query()
811 struct dvb_usb_device *d = adap->dev; in dvico_bluebird_xc2028_callback() local
816 cxusb_bluebird_gpio_pulse(d, 0x01, 1); in dvico_bluebird_xc2028_callback()
1212 struct dvb_usb_device *d = adap->dev; in cxusb_d680_dmb_frontend_attach() local
1216 if (usb_set_interface(d->udev, 0, 0) < 0) in cxusb_d680_dmb_frontend_attach()
1220 usb_clear_halt(d->udev, in cxusb_d680_dmb_frontend_attach()
1221 usb_sndbulkpipe(d->udev, d->props.generic_bulk_ctrl_endpoint)); in cxusb_d680_dmb_frontend_attach()
1222 usb_clear_halt(d->udev, in cxusb_d680_dmb_frontend_attach()
1223 usb_rcvbulkpipe(d->udev, d->props.generic_bulk_ctrl_endpoint)); in cxusb_d680_dmb_frontend_attach()
1224 usb_clear_halt(d->udev, in cxusb_d680_dmb_frontend_attach()
1225 usb_rcvbulkpipe(d->udev, d->props.adapter[0].fe[0].stream.endpoint)); in cxusb_d680_dmb_frontend_attach()
1229 cxusb_d680_dmb_drain_message(d); in cxusb_d680_dmb_frontend_attach()
1230 cxusb_d680_dmb_drain_video(d); in cxusb_d680_dmb_frontend_attach()
1235 if (cxusb_d680_dmb_gpio_tuner(d, 0x07, 0) < 0) { in cxusb_d680_dmb_frontend_attach()
1240 if (cxusb_d680_dmb_gpio_tuner(d, 0x07, 1) < 0) { in cxusb_d680_dmb_frontend_attach()
1247 adap->fe_adap[0].fe = dvb_attach(lgs8gxx_attach, &d680_lgs8gl5_cfg, &d->i2c_adap); in cxusb_d680_dmb_frontend_attach()
1270 struct dvb_usb_device *d = adap->dev; in cxusb_mygica_d689_frontend_attach() local
1273 if (usb_set_interface(d->udev, 0, 0) < 0) in cxusb_mygica_d689_frontend_attach()
1277 usb_clear_halt(d->udev, in cxusb_mygica_d689_frontend_attach()
1278 usb_sndbulkpipe(d->udev, d->props.generic_bulk_ctrl_endpoint)); in cxusb_mygica_d689_frontend_attach()
1279 usb_clear_halt(d->udev, in cxusb_mygica_d689_frontend_attach()
1280 usb_rcvbulkpipe(d->udev, d->props.generic_bulk_ctrl_endpoint)); in cxusb_mygica_d689_frontend_attach()
1281 usb_clear_halt(d->udev, in cxusb_mygica_d689_frontend_attach()
1282 usb_rcvbulkpipe(d->udev, d->props.adapter[0].fe[0].stream.endpoint)); in cxusb_mygica_d689_frontend_attach()
1286 if (cxusb_d680_dmb_gpio_tuner(d, 0x07, 0) < 0) { in cxusb_mygica_d689_frontend_attach()
1291 if (cxusb_d680_dmb_gpio_tuner(d, 0x07, 1) < 0) { in cxusb_mygica_d689_frontend_attach()
1299 &d->i2c_adap); in cxusb_mygica_d689_frontend_attach()
1308 struct dvb_usb_device *d = adap->dev; in cxusb_mygica_t230_frontend_attach() local
1309 struct cxusb_state *st = d->priv; in cxusb_mygica_t230_frontend_attach()
1318 if (usb_set_interface(d->udev, 0, 0) < 0) in cxusb_mygica_t230_frontend_attach()
1322 usb_clear_halt(d->udev, in cxusb_mygica_t230_frontend_attach()
1323 usb_sndbulkpipe(d->udev, d->props.generic_bulk_ctrl_endpoint)); in cxusb_mygica_t230_frontend_attach()
1324 usb_clear_halt(d->udev, in cxusb_mygica_t230_frontend_attach()
1325 usb_rcvbulkpipe(d->udev, d->props.generic_bulk_ctrl_endpoint)); in cxusb_mygica_t230_frontend_attach()
1326 usb_clear_halt(d->udev, in cxusb_mygica_t230_frontend_attach()
1327 usb_rcvbulkpipe(d->udev, d->props.adapter[0].fe[0].stream.endpoint)); in cxusb_mygica_t230_frontend_attach()
1339 client_demod = i2c_new_device(&d->i2c_adap, &info); in cxusb_mygica_t230_frontend_attach()
1498 struct dvb_usb_device *d = usb_get_intfdata(intf); in cxusb_disconnect() local
1499 struct cxusb_state *st = d->priv; in cxusb_disconnect()