diff options
Diffstat (limited to 'drivers/staging/solo6x10')
-rw-r--r-- | drivers/staging/solo6x10/Makefile | 2 | ||||
-rw-r--r-- | drivers/staging/solo6x10/solo6010-core.c | 40 | ||||
-rw-r--r-- | drivers/staging/solo6x10/solo6010-g723.c | 2 | ||||
-rw-r--r-- | drivers/staging/solo6x10/solo6010-i2c.c | 2 | ||||
-rw-r--r-- | drivers/staging/solo6x10/solo6010-p2m.c | 2 | ||||
-rw-r--r-- | drivers/staging/solo6x10/solo6010-v4l2-enc.c | 2 | ||||
-rw-r--r-- | drivers/staging/solo6x10/solo6010-v4l2.c | 2 |
7 files changed, 32 insertions, 20 deletions
diff --git a/drivers/staging/solo6x10/Makefile b/drivers/staging/solo6x10/Makefile index 7e70044..1616b55 100644 --- a/drivers/staging/solo6x10/Makefile +++ b/drivers/staging/solo6x10/Makefile @@ -1,4 +1,4 @@ -solo6x10-objs := solo6010-core.o solo6010-i2c.o solo6010-p2m.o \ +solo6x10-y := solo6010-core.o solo6010-i2c.o solo6010-p2m.o \ solo6010-v4l2.o solo6010-tw28.o solo6010-gpio.o \ solo6010-disp.o solo6010-enc.o solo6010-v4l2-enc.o \ solo6010-g723.o diff --git a/drivers/staging/solo6x10/solo6010-core.c b/drivers/staging/solo6x10/solo6010-core.c index 98c6739..4a051cd 100644 --- a/drivers/staging/solo6x10/solo6010-core.c +++ b/drivers/staging/solo6x10/solo6010-core.c @@ -136,23 +136,26 @@ static int __devinit solo6010_pci_probe(struct pci_dev *pdev, int ret; int sdram; u8 chip_id; - - if ((solo_dev = kzalloc(sizeof(*solo_dev), GFP_KERNEL)) == NULL) + solo_dev = kzalloc(sizeof(*solo_dev), GFP_KERNEL); + if (solo_dev == NULL) return -ENOMEM; solo_dev->pdev = pdev; spin_lock_init(&solo_dev->reg_io_lock); pci_set_drvdata(pdev, solo_dev); - if ((ret = pci_enable_device(pdev))) + ret = pci_enable_device(pdev); + if (ret) goto fail_probe; pci_set_master(pdev); - if ((ret = pci_request_regions(pdev, SOLO6010_NAME))) + ret = pci_request_regions(pdev, SOLO6010_NAME); + if (ret) goto fail_probe; - if ((solo_dev->reg_base = pci_ioremap_bar(pdev, 0)) == NULL) { + solo_dev->reg_base = pci_ioremap_bar(pdev, 0); + if (solo_dev->reg_base == NULL) { ret = -ENOMEM; goto fail_probe; } @@ -198,7 +201,8 @@ static int __devinit solo6010_pci_probe(struct pci_dev *pdev, /* Handle this from the start */ solo6010_irq_on(solo_dev, SOLO_IRQ_PCI_ERR); - if ((ret = solo_i2c_init(solo_dev))) + ret = solo_i2c_init(solo_dev); + if (ret) goto fail_probe; /* Setup the DMA engine */ @@ -210,28 +214,36 @@ static int __devinit solo6010_pci_probe(struct pci_dev *pdev, SOLO_DMA_CTRL_READ_CLK_SELECT | SOLO_DMA_CTRL_LATENCY(1)); - if ((ret = solo_p2m_init(solo_dev))) + ret = solo_p2m_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_disp_init(solo_dev))) + ret = solo_disp_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_gpio_init(solo_dev))) + ret = solo_gpio_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_tw28_init(solo_dev))) + ret = solo_tw28_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_v4l2_init(solo_dev))) + ret = solo_v4l2_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_enc_init(solo_dev))) + ret = solo_enc_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_enc_v4l2_init(solo_dev))) + ret = solo_enc_v4l2_init(solo_dev); + if (ret) goto fail_probe; - if ((ret = solo_g723_init(solo_dev))) + ret = solo_g723_init(solo_dev); + if (ret) goto fail_probe; return 0; diff --git a/drivers/staging/solo6x10/solo6010-g723.c b/drivers/staging/solo6x10/solo6010-g723.c index e82846c..82fbcb8 100644 --- a/drivers/staging/solo6x10/solo6010-g723.c +++ b/drivers/staging/solo6x10/solo6010-g723.c @@ -233,7 +233,7 @@ static int snd_solo_pcm_copy(struct snd_pcm_substream *ss, int channel, solo_pcm->g723_buf, G723_PERIOD_BYTES); if (err) - return err; + return -EFAULT; } return 0; diff --git a/drivers/staging/solo6x10/solo6010-i2c.c b/drivers/staging/solo6x10/solo6010-i2c.c index 2bb86fa..cadd512 100644 --- a/drivers/staging/solo6x10/solo6010-i2c.c +++ b/drivers/staging/solo6x10/solo6010-i2c.c @@ -284,7 +284,7 @@ int solo_i2c_init(struct solo6010_dev *solo_dev) solo_dev->i2c_id = -1; solo_dev->i2c_state = IIC_STATE_IDLE; init_waitqueue_head(&solo_dev->i2c_wait); - init_MUTEX(&solo_dev->i2c_sem); + sema_init(&solo_dev->i2c_sem, 1); for (i = 0; i < SOLO_I2C_ADAPTERS; i++) { struct i2c_adapter *adap = &solo_dev->i2c_adap[i]; diff --git a/drivers/staging/solo6x10/solo6010-p2m.c b/drivers/staging/solo6x10/solo6010-p2m.c index 1b81f06..7ed3ed4 100644 --- a/drivers/staging/solo6x10/solo6010-p2m.c +++ b/drivers/staging/solo6x10/solo6010-p2m.c @@ -188,7 +188,7 @@ int solo_p2m_init(struct solo6010_dev *solo_dev) for (i = 0; i < SOLO_NR_P2M; i++) { p2m_dev = &solo_dev->p2m_dev[i]; - init_MUTEX(&p2m_dev->sem); + sema_init(&p2m_dev->sem, 1); init_completion(&p2m_dev->completion); solo_reg_write(solo_dev, SOLO_P2M_DES_ADR(i), diff --git a/drivers/staging/solo6x10/solo6010-v4l2-enc.c b/drivers/staging/solo6x10/solo6010-v4l2-enc.c index f114b4b..bbf3d9c 100644 --- a/drivers/staging/solo6x10/solo6010-v4l2-enc.c +++ b/drivers/staging/solo6x10/solo6010-v4l2-enc.c @@ -1497,7 +1497,7 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo6010_dev *solo_dev, u8 ch) "%s-enc (%i/%i)", SOLO6010_NAME, solo_dev->vfd->num, solo_enc->vfd->num); - if (video_nr >= 0) + if (video_nr != -1) video_nr++; spin_lock_init(&solo_enc->lock); diff --git a/drivers/staging/solo6x10/solo6010-v4l2.c b/drivers/staging/solo6x10/solo6010-v4l2.c index 9537cc6..9731fa0 100644 --- a/drivers/staging/solo6x10/solo6010-v4l2.c +++ b/drivers/staging/solo6x10/solo6010-v4l2.c @@ -825,7 +825,7 @@ int solo_v4l2_init(struct solo6010_dev *solo_dev) snprintf(solo_dev->vfd->name, sizeof(solo_dev->vfd->name), "%s (%i)", SOLO6010_NAME, solo_dev->vfd->num); - if (video_nr >= 0) + if (video_nr != -1) video_nr++; dev_info(&solo_dev->pdev->dev, "Display as /dev/video%d with " |