Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 181645
b: refs/heads/master
c: cf1b12f
h: refs/heads/master
i:
  181643: 532a10b
v: v3
  • Loading branch information
Matthias Benesch authored and Mauro Carvalho Chehab committed Feb 26, 2010
1 parent ca3972a commit a0e6892
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 126cd4bc5fa9cdbedb89bbe7e568140c94900ca7
refs/heads/master: cf1b12f2b355a29c44dad426f545db8fa26bd81c
45 changes: 21 additions & 24 deletions trunk/drivers/media/dvb/ngene/ngene-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@
#include "ngene-ioctls.h"
#endif

static int one_adapter = 1;
module_param(one_adapter, int, 0444);
MODULE_PARM_DESC(one_adapter, "Use only one adapter.");

static int copy_eeprom;
module_param(copy_eeprom, int, 0444);
MODULE_PARM_DESC(copy_eeprom, "Copy eeprom.");
Expand Down Expand Up @@ -2444,9 +2448,9 @@ static void release_channel(struct ngene_channel *chan)
&chan->mem_frontend);
dvb_dmxdev_release(&chan->dmxdev);
dvb_dmx_release(&chan->demux);
#ifndef ONE_ADAPTER
dvb_unregister_adapter(&chan->dvb_adapter);
#endif

if (chan->number == 0 || !one_adapter)
dvb_unregister_adapter(&dev->adapter[chan->number]);
}

}
Expand All @@ -2472,17 +2476,18 @@ static int init_channel(struct ngene_channel *chan)
if (io & NGENE_IO_TSOUT)
dec_fw_boot(dev);

#ifdef ONE_ADAPTER
adapter = &chan->dev->dvb_adapter;
#else
ret = dvb_register_adapter(&chan->dvb_adapter, "nGene",
THIS_MODULE,
&chan->dev->pci_dev->dev,
adapter_nr);
if (ret < 0)
return ret;
adapter = &chan->dvb_adapter;
#endif
if (nr == 0 || !one_adapter) {
adapter = &dev->adapter[nr];
ret = dvb_register_adapter(adapter, "nGene",
THIS_MODULE,
&chan->dev->pci_dev->dev,
adapter_nr);
if (ret < 0)
return ret;
} else {
adapter = &dev->adapter[0];
}

ret = my_dvb_dmx_ts_card_init(dvbdemux, "SW demux",
ngene_start_feed,
ngene_stop_feed, chan);
Expand Down Expand Up @@ -2527,7 +2532,7 @@ static int init_channels(struct ngene *dev)

for (i = 0; i < MAX_STREAM; i++) {
if (init_channel(&dev->channel[i]) < 0) {
for (j = 0; j < i; j++)
for (j = i - 1; j >= 0; j--)
release_channel(&dev->channel[j]);
return -1;
}
Expand All @@ -2545,11 +2550,8 @@ static void __devexit ngene_remove(struct pci_dev *pdev)
int i;

tasklet_kill(&dev->event_tasklet);
for (i = 0; i < MAX_STREAM; i++)
for (i = MAX_STREAM - 1; i >= 0; i--)
release_channel(&dev->channel[i]);
#ifdef ONE_ADAPTER
dvb_unregister_adapter(&dev->dvb_adapter);
#endif
ngene_stop(dev);
ngene_release_buffers(dev);
pci_set_drvdata(pdev, 0);
Expand Down Expand Up @@ -2595,11 +2597,6 @@ static int __devinit ngene_probe(struct pci_dev *pci_dev,
/*i2c_check_eeprom(&dev->i2c_adapter);*/

/* Register DVB adapters and devices for both channels */
#ifdef ONE_ADAPTER
if (dvb_register_adapter(&dev->dvb_adapter, "nGene", THIS_MODULE,
&dev->pci_dev->dev, adapter_nr) < 0)
goto fail2;
#endif
if (init_channels(dev) < 0)
goto fail2;

Expand Down
9 changes: 1 addition & 8 deletions trunk/drivers/media/dvb/ngene/ngene.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
#ifndef _NGENE_H_
#define _NGENE_H_

/*#define ONE_ADAPTER*/

#include <linux/types.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
Expand Down Expand Up @@ -649,9 +647,6 @@ struct ngene_channel {
struct dmx_frontend mem_frontend;
int users;
struct video_device *v4l_dev;
#ifndef ONE_ADAPTER
struct dvb_adapter dvb_adapter;
#endif
struct tasklet_struct demux_tasklet;

struct SBufferHeader *nextBuffer;
Expand Down Expand Up @@ -728,9 +723,6 @@ struct ngene {
struct pci_dev *pci_dev;
unsigned char *iomem;

#ifdef ONE_ADAPTER
struct dvb_adapter dvb_adapter;
#endif
/*struct i2c_adapter i2c_adapter;*/

u32 device_version;
Expand Down Expand Up @@ -764,6 +756,7 @@ struct ngene {
int i2c_current_bus;
spinlock_t cmd_lock;

struct dvb_adapter adapter[MAX_STREAM];
struct ngene_channel channel[MAX_STREAM];

struct ngene_info *card_info;
Expand Down

0 comments on commit a0e6892

Please sign in to comment.