提交 454fe92f 编写于 作者: F Frank Schaefer 提交者: Mauro Carvalho Chehab

[media] em28xx: add module parameter for selection of the preferred USB transfer type

By default, isoc transfers are used if possible.
With the new module parameter, bulk can be selected as the
preferred USB transfer type.
Signed-off-by: NFrank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 c647a91a
......@@ -61,6 +61,11 @@ static unsigned int card[] = {[0 ... (EM28XX_MAXBOARDS - 1)] = UNSET };
module_param_array(card, int, NULL, 0444);
MODULE_PARM_DESC(card, "card type");
static unsigned int prefer_bulk;
module_param(prefer_bulk, int, 0644);
MODULE_PARM_DESC(prefer_bulk, "prefer USB bulk transfers");
/* Bitmask marking allocated devices from 0 to EM28XX_MAXBOARDS - 1 */
static unsigned long em28xx_devused;
......@@ -3332,9 +3337,11 @@ static int em28xx_usb_probe(struct usb_interface *interface,
}
/* Select USB transfer types to use */
if (has_video && !dev->analog_ep_isoc)
if (has_video &&
(!dev->analog_ep_isoc || (prefer_bulk && dev->analog_ep_bulk)))
dev->analog_xfer_bulk = 1;
if (has_dvb && !dev->dvb_ep_isoc)
if (has_dvb &&
(!dev->dvb_ep_isoc || (prefer_bulk && dev->dvb_ep_bulk)))
dev->dvb_xfer_bulk = 1;
snprintf(dev->name, sizeof(dev->name), "em28xx #%d", nr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册