diff options
author | Janne Grunau <janne-dvb@grunau.be> | 2008-04-09 18:13:13 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:08:00 -0400 |
commit | 78e92006f410a4044f8c1760c25ac9d11d259aa2 (patch) | |
tree | 293de8abe261420df2db5e12936ec2721ea52c7c /drivers/media/dvb/ttpci | |
parent | 9950c1b5b4b86d4aae12853c2f0a0ef11d976764 (diff) |
V4L/DVB (7538): Adds selectable adapter numbers as per module option
The adapter_nr module options can be used to allocate static adapter
numbers on a driver level. It avoids problems with changing DVB apapter
numbers after warm/cold boot or device unplugging and repluging.
Each driver holds DVB_MAX_ADAPTER long array of the preferred order of
adapter numbers.
options dvb-usb-dib0700 adapter_nr=7,6,5,4,3,2,1,0 would result in a
reversed allocation of adapter numbers.
With adapter_nr=2,5 it tries first to get adapter number 2 and 5. If
both are already in use it will allocate the lowest free adapter number.
Signed-off-by: Janne Grunau <janne-dvb@grunau.be>
Acked-by: Hermann Pitton <hermann.pitton@arcor.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/ttpci')
-rw-r--r-- | drivers/media/dvb/ttpci/av7110.c | 4 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/budget-core.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/dvb/ttpci/av7110.c b/drivers/media/dvb/ttpci/av7110.c index 78919b9e14dc..747e7f1a6267 100644 --- a/drivers/media/dvb/ttpci/av7110.c +++ b/drivers/media/dvb/ttpci/av7110.c | |||
@@ -112,6 +112,8 @@ MODULE_PARM_DESC(wss_cfg_16_9, "WSS 16:9 - default 0x0007 - bit 15: disable, 14: | |||
112 | module_param(tv_standard, int, 0444); | 112 | module_param(tv_standard, int, 0444); |
113 | MODULE_PARM_DESC(tv_standard, "TV standard: 0 PAL (default), 1 NTSC"); | 113 | MODULE_PARM_DESC(tv_standard, "TV standard: 0 PAL (default), 1 NTSC"); |
114 | 114 | ||
115 | DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); | ||
116 | |||
115 | static void restart_feeds(struct av7110 *av7110); | 117 | static void restart_feeds(struct av7110 *av7110); |
116 | 118 | ||
117 | static int av7110_num; | 119 | static int av7110_num; |
@@ -2461,7 +2463,7 @@ static int __devinit av7110_attach(struct saa7146_dev* dev, | |||
2461 | goto err_kfree_0; | 2463 | goto err_kfree_0; |
2462 | 2464 | ||
2463 | ret = dvb_register_adapter(&av7110->dvb_adapter, av7110->card_name, | 2465 | ret = dvb_register_adapter(&av7110->dvb_adapter, av7110->card_name, |
2464 | THIS_MODULE, &dev->pci->dev); | 2466 | THIS_MODULE, &dev->pci->dev, adapter_nr); |
2465 | if (ret < 0) | 2467 | if (ret < 0) |
2466 | goto err_put_firmware_1; | 2468 | goto err_put_firmware_1; |
2467 | 2469 | ||
diff --git a/drivers/media/dvb/ttpci/budget-core.c b/drivers/media/dvb/ttpci/budget-core.c index 06bbce42fcd7..18cac4b12ab2 100644 --- a/drivers/media/dvb/ttpci/budget-core.c +++ b/drivers/media/dvb/ttpci/budget-core.c | |||
@@ -57,6 +57,8 @@ module_param_named(bufsize, dma_buffer_size, int, 0444); | |||
57 | MODULE_PARM_DESC(debug, "Turn on/off budget debugging (default:off)."); | 57 | MODULE_PARM_DESC(debug, "Turn on/off budget debugging (default:off)."); |
58 | MODULE_PARM_DESC(bufsize, "DMA buffer size in KB, default: 188, min: 188, max: 1410 (Activy: 564)"); | 58 | MODULE_PARM_DESC(bufsize, "DMA buffer size in KB, default: 188, min: 188, max: 1410 (Activy: 564)"); |
59 | 59 | ||
60 | DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); | ||
61 | |||
60 | /**************************************************************************** | 62 | /**************************************************************************** |
61 | * TT budget / WinTV Nova | 63 | * TT budget / WinTV Nova |
62 | ****************************************************************************/ | 64 | ****************************************************************************/ |
@@ -471,9 +473,10 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev, | |||
471 | budget->buffer_width, budget->buffer_height); | 473 | budget->buffer_width, budget->buffer_height); |
472 | printk("%s: dma buffer size %u\n", budget->dev->name, budget->buffer_size); | 474 | printk("%s: dma buffer size %u\n", budget->dev->name, budget->buffer_size); |
473 | 475 | ||
474 | if ((ret = dvb_register_adapter(&budget->dvb_adapter, budget->card->name, owner, &budget->dev->pci->dev)) < 0) { | 476 | ret = dvb_register_adapter(&budget->dvb_adapter, budget->card->name, |
477 | owner, &budget->dev->pci->dev, adapter_nr); | ||
478 | if (ret < 0) | ||
475 | return ret; | 479 | return ret; |
476 | } | ||
477 | 480 | ||
478 | /* set dd1 stream a & b */ | 481 | /* set dd1 stream a & b */ |
479 | saa7146_write(dev, DD1_STREAM_B, 0x00000000); | 482 | saa7146_write(dev, DD1_STREAM_B, 0x00000000); |