|
@@ -33,9 +33,6 @@ MODULE_DESCRIPTION("Driver for Athena cards");
|
|
MODULE_AUTHOR("Shu Lin - Hiep Huynh");
|
|
MODULE_AUTHOR("Shu Lin - Hiep Huynh");
|
|
MODULE_LICENSE("GPL");
|
|
MODULE_LICENSE("GPL");
|
|
|
|
|
|
-struct list_head cx25821_devlist;
|
|
|
|
-EXPORT_SYMBOL(cx25821_devlist);
|
|
|
|
-
|
|
|
|
static unsigned int debug;
|
|
static unsigned int debug;
|
|
module_param(debug, int, 0644);
|
|
module_param(debug, int, 0644);
|
|
MODULE_PARM_DESC(debug, "enable debug messages");
|
|
MODULE_PARM_DESC(debug, "enable debug messages");
|
|
@@ -46,8 +43,10 @@ MODULE_PARM_DESC(card, "card type");
|
|
|
|
|
|
static unsigned int cx25821_devcount;
|
|
static unsigned int cx25821_devcount;
|
|
|
|
|
|
-static DEFINE_MUTEX(devlist);
|
|
|
|
|
|
+DEFINE_MUTEX(cx25821_devlist_mutex);
|
|
|
|
+EXPORT_SYMBOL(cx25821_devlist_mutex);
|
|
LIST_HEAD(cx25821_devlist);
|
|
LIST_HEAD(cx25821_devlist);
|
|
|
|
+EXPORT_SYMBOL(cx25821_devlist);
|
|
|
|
|
|
struct sram_channel cx25821_sram_channels[] = {
|
|
struct sram_channel cx25821_sram_channels[] = {
|
|
[SRAM_CH00] = {
|
|
[SRAM_CH00] = {
|
|
@@ -911,9 +910,9 @@ static int cx25821_dev_setup(struct cx25821_dev *dev)
|
|
dev->nr = ++cx25821_devcount;
|
|
dev->nr = ++cx25821_devcount;
|
|
sprintf(dev->name, "cx25821[%d]", dev->nr);
|
|
sprintf(dev->name, "cx25821[%d]", dev->nr);
|
|
|
|
|
|
- mutex_lock(&devlist);
|
|
|
|
|
|
+ mutex_lock(&cx25821_devlist_mutex);
|
|
list_add_tail(&dev->devlist, &cx25821_devlist);
|
|
list_add_tail(&dev->devlist, &cx25821_devlist);
|
|
- mutex_unlock(&devlist);
|
|
|
|
|
|
+ mutex_unlock(&cx25821_devlist_mutex);
|
|
|
|
|
|
strcpy(cx25821_boards[UNKNOWN_BOARD].name, "unknown");
|
|
strcpy(cx25821_boards[UNKNOWN_BOARD].name, "unknown");
|
|
strcpy(cx25821_boards[CX25821_BOARD].name, "cx25821");
|
|
strcpy(cx25821_boards[CX25821_BOARD].name, "cx25821");
|
|
@@ -1465,9 +1464,9 @@ static void __devexit cx25821_finidev(struct pci_dev *pci_dev)
|
|
if (pci_dev->irq)
|
|
if (pci_dev->irq)
|
|
free_irq(pci_dev->irq, dev);
|
|
free_irq(pci_dev->irq, dev);
|
|
|
|
|
|
- mutex_lock(&devlist);
|
|
|
|
|
|
+ mutex_lock(&cx25821_devlist_mutex);
|
|
list_del(&dev->devlist);
|
|
list_del(&dev->devlist);
|
|
- mutex_unlock(&devlist);
|
|
|
|
|
|
+ mutex_unlock(&cx25821_devlist_mutex);
|
|
|
|
|
|
cx25821_dev_unregister(dev);
|
|
cx25821_dev_unregister(dev);
|
|
v4l2_device_unregister(v4l2_dev);
|
|
v4l2_device_unregister(v4l2_dev);
|
|
@@ -1501,7 +1500,6 @@ static struct pci_driver cx25821_pci_driver = {
|
|
|
|
|
|
static int __init cx25821_init(void)
|
|
static int __init cx25821_init(void)
|
|
{
|
|
{
|
|
- INIT_LIST_HEAD(&cx25821_devlist);
|
|
|
|
pr_info("driver version %d.%d.%d loaded\n",
|
|
pr_info("driver version %d.%d.%d loaded\n",
|
|
(CX25821_VERSION_CODE >> 16) & 0xff,
|
|
(CX25821_VERSION_CODE >> 16) & 0xff,
|
|
(CX25821_VERSION_CODE >> 8) & 0xff,
|
|
(CX25821_VERSION_CODE >> 8) & 0xff,
|