⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cxusb.c

📁 trident tm5600的linux驱动
💻 C
📖 第 1 页 / 共 4 页
字号:
			.tuner_attach     = cxusb_dee1601_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x04,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_bluebird_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.rc_interval      = 150,	.rc_key_map       = dvico_mce_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_mce_rc_keys),	.rc_query         = cxusb_rc_query,	.generic_bulk_ctrl_endpoint = 0x01,	.num_device_descs = 3,	.devices = {		{   "DViCO FusionHDTV DVB-T Dual USB",			{ &cxusb_table[3], NULL },			{ &cxusb_table[4], NULL },		},		{   "DigitalNow DVB-T Dual USB",			{ &cxusb_table[9],  NULL },			{ &cxusb_table[10], NULL },		},		{   "DViCO FusionHDTV DVB-T Dual Digital 2",			{ &cxusb_table[11], NULL },			{ &cxusb_table[12], NULL },		},	}};static struct dvb_usb_device_properties cxusb_bluebird_lgz201_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl          = DEVICE_SPECIFIC,	.firmware          = "dvb-usb-bluebird-01.fw",	.download_firmware = bluebird_patch_dvico_firmware_download,	/* use usb alt setting 0 for EP4 transfer (dvb-t),	   use usb alt setting 7 for EP2 transfer (atsc) */	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 2,	.adapter = {		{			.streaming_ctrl   = cxusb_streaming_ctrl,			.frontend_attach  = cxusb_mt352_frontend_attach,			.tuner_attach     = cxusb_lgz201_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x04,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_bluebird_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.rc_interval      = 100,	.rc_key_map       = dvico_portable_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_portable_rc_keys),	.rc_query         = cxusb_rc_query,	.generic_bulk_ctrl_endpoint = 0x01,	.num_device_descs = 1,	.devices = {		{   "DViCO FusionHDTV DVB-T USB (LGZ201)",			{ &cxusb_table[5], NULL },			{ &cxusb_table[6], NULL },		},	}};static struct dvb_usb_device_properties cxusb_bluebird_dtt7579_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl          = DEVICE_SPECIFIC,	.firmware          = "dvb-usb-bluebird-01.fw",	.download_firmware = bluebird_patch_dvico_firmware_download,	/* use usb alt setting 0 for EP4 transfer (dvb-t),	   use usb alt setting 7 for EP2 transfer (atsc) */	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl   = cxusb_streaming_ctrl,			.frontend_attach  = cxusb_mt352_frontend_attach,			.tuner_attach     = cxusb_dtt7579_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x04,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_bluebird_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.rc_interval      = 100,	.rc_key_map       = dvico_portable_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_portable_rc_keys),	.rc_query         = cxusb_rc_query,	.generic_bulk_ctrl_endpoint = 0x01,	.num_device_descs = 1,	.devices = {		{   "DViCO FusionHDTV DVB-T USB (TH7579)",			{ &cxusb_table[7], NULL },			{ &cxusb_table[8], NULL },		},	}};static struct dvb_usb_device_properties cxusb_bluebird_dualdig4_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl         = CYPRESS_FX2,	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl   = cxusb_streaming_ctrl,			.frontend_attach  = cxusb_dualdig4_frontend_attach,			.tuner_attach     = cxusb_dvico_xc3028_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x02,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.generic_bulk_ctrl_endpoint = 0x01,	.rc_interval      = 100,	.rc_key_map       = dvico_mce_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_mce_rc_keys),	.rc_query         = cxusb_bluebird2_rc_query,	.num_device_descs = 1,	.devices = {		{   "DViCO FusionHDTV DVB-T Dual Digital 4",			{ NULL },			{ &cxusb_table[13], NULL },		},	}};static struct dvb_usb_device_properties cxusb_bluebird_nano2_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl         = CYPRESS_FX2,	.identify_state   = bluebird_fx2_identify_state,	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl   = cxusb_streaming_ctrl,			.frontend_attach  = cxusb_nano2_frontend_attach,			.tuner_attach     = cxusb_dvico_xc3028_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x02,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_nano2_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.generic_bulk_ctrl_endpoint = 0x01,	.rc_interval      = 100,	.rc_key_map       = dvico_portable_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_portable_rc_keys),	.rc_query         = cxusb_bluebird2_rc_query,	.num_device_descs = 1,	.devices = {		{   "DViCO FusionHDTV DVB-T NANO2",			{ NULL },			{ &cxusb_table[14], NULL },		},	}};static struct dvb_usb_device_properties cxusb_bluebird_nano2_needsfirmware_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl          = DEVICE_SPECIFIC,	.firmware          = "dvb-usb-bluebird-02.fw",	.download_firmware = bluebird_patch_dvico_firmware_download,	.identify_state    = bluebird_fx2_identify_state,	.size_of_priv      = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl   = cxusb_streaming_ctrl,			.frontend_attach  = cxusb_nano2_frontend_attach,			.tuner_attach     = cxusb_dvico_xc3028_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x02,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_nano2_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.generic_bulk_ctrl_endpoint = 0x01,	.rc_interval      = 100,	.rc_key_map       = dvico_portable_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_portable_rc_keys),	.rc_query         = cxusb_rc_query,	.num_device_descs = 1,	.devices = {		{   "DViCO FusionHDTV DVB-T NANO2 w/o firmware",			{ &cxusb_table[14], NULL },			{ &cxusb_table[15], NULL },		},	}};static struct dvb_usb_device_properties cxusb_aver_a868r_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl         = CYPRESS_FX2,	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl   = cxusb_aver_streaming_ctrl,			.frontend_attach  = cxusb_aver_lgdt3303_frontend_attach,			.tuner_attach     = cxusb_mxl5003s_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x04,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_aver_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.generic_bulk_ctrl_endpoint = 0x01,	.num_device_descs = 1,	.devices = {		{   "AVerMedia AVerTVHD Volar (A868R)",			{ NULL },			{ &cxusb_table[16], NULL },		},	}};staticstruct dvb_usb_device_properties cxusb_bluebird_dualdig4_rev2_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl         = CYPRESS_FX2,	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl  = cxusb_streaming_ctrl,			.frontend_attach = cxusb_dualdig4_rev2_frontend_attach,			.tuner_attach    = cxusb_dualdig4_rev2_tuner_attach,			.size_of_priv    = sizeof(struct dib0700_adapter_state),			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 7,				.endpoint = 0x02,				.u = {					.bulk = {						.buffersize = 4096,					}				}			},		},	},	.power_ctrl       = cxusb_bluebird_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.generic_bulk_ctrl_endpoint = 0x01,	.rc_interval      = 100,	.rc_key_map       = dvico_mce_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(dvico_mce_rc_keys),	.rc_query         = cxusb_rc_query,	.num_device_descs = 1,	.devices = {		{   "DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)",			{ NULL },			{ &cxusb_table[17], NULL },		},	}};static struct dvb_usb_device_properties cxusb_d680_dmb_properties = {	.caps = DVB_USB_IS_AN_I2C_ADAPTER,	.usb_ctrl         = CYPRESS_FX2,	.size_of_priv     = sizeof(struct cxusb_state),	.num_adapters = 1,	.adapter = {		{			.streaming_ctrl   = cxusb_d680_dmb_streaming_ctrl,			.frontend_attach  = cxusb_d680_dmb_frontend_attach,			.tuner_attach     = cxusb_d680_dmb_tuner_attach,			/* parameter for the MPEG2-data transfer */			.stream = {				.type = USB_BULK,				.count = 5,				.endpoint = 0x02,				.u = {					.bulk = {						.buffersize = 8192,					}				}			},		},	},	.power_ctrl       = cxusb_d680_dmb_power_ctrl,	.i2c_algo         = &cxusb_i2c_algo,	.generic_bulk_ctrl_endpoint = 0x01,	.rc_interval      = 100,	.rc_key_map       = d680_dmb_rc_keys,	.rc_key_map_size  = ARRAY_SIZE(d680_dmb_rc_keys),	.rc_query         = cxusb_d680_dmb_rc_query,	.num_device_descs = 1,	.devices = {		{			"Conexant DMB-TH Stick",			{ NULL },			{ &cxusb_table[18], NULL },		},	}};static struct usb_driver cxusb_driver = {	.name		= "dvb_usb_cxusb",	.probe		= cxusb_probe,	.disconnect     = dvb_usb_device_exit,	.id_table	= cxusb_table,};/* module stuff */static int __init cxusb_module_init(void){	int result;	if ((result = usb_register(&cxusb_driver))) {		err("usb_register failed. Error number %d",result);		return result;	}	return 0;}static void __exit cxusb_module_exit(void){	/* deregister this driver from the USB subsystem */	usb_deregister(&cxusb_driver);}module_init (cxusb_module_init);module_exit (cxusb_module_exit);MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@desy.de>");MODULE_AUTHOR("Michael Krufky <mkrufky@linuxtv.org>");MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>");MODULE_DESCRIPTION("Driver for Conexant USB2.0 hybrid reference design");MODULE_VERSION("1.0-alpha");MODULE_LICENSE("GPL");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -