Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 357094
b: refs/heads/master
c: 70ef699
h: refs/heads/master
v: v3
  • Loading branch information
Matthijs Kooijman authored and Mauro Carvalho Chehab committed Dec 21, 2012
1 parent ea85d5e commit 05f566e
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 56 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: d40fbf8d52ae6c9b7fe9d76eeab624afc3a3f1ea
refs/heads/master: 70ef69915b1fba4ad85aebe530caf156a144c2e5
27 changes: 16 additions & 11 deletions trunk/drivers/media/rc/ati_remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -872,11 +872,11 @@ static int ati_remote_probe(struct usb_interface *interface,
ati_remote = kzalloc(sizeof (struct ati_remote), GFP_KERNEL);
rc_dev = rc_allocate_device();
if (!ati_remote || !rc_dev)
goto fail1;
goto exit_free_dev_rdev;

/* Allocate URB buffers, URBs */
if (ati_remote_alloc_buffers(udev, ati_remote))
goto fail2;
goto exit_free_buffers;

ati_remote->endpoint_in = endpoint_in;
ati_remote->endpoint_out = endpoint_out;
Expand Down Expand Up @@ -924,12 +924,12 @@ static int ati_remote_probe(struct usb_interface *interface,
/* Device Hardware Initialization - fills in ati_remote->idev from udev. */
err = ati_remote_initialize(ati_remote);
if (err)
goto fail3;
goto exit_kill_urbs;

/* Set up and register rc device */
err = rc_register_device(ati_remote->rdev);
if (err)
goto fail3;
goto exit_kill_urbs;

/* use our delay for rc_dev */
ati_remote->rdev->input_dev->rep[REP_DELAY] = repeat_delay;
Expand All @@ -939,27 +939,32 @@ static int ati_remote_probe(struct usb_interface *interface,
input_dev = input_allocate_device();
if (!input_dev) {
err = -ENOMEM;
goto fail4;
goto exit_unregister_device;
}

ati_remote->idev = input_dev;
ati_remote_input_init(ati_remote);
err = input_register_device(input_dev);

if (err)
goto fail5;
goto exit_free_input_device;
}

usb_set_intfdata(interface, ati_remote);
return 0;

fail5: input_free_device(input_dev);
fail4: rc_unregister_device(rc_dev);
exit_free_input_device:
input_free_device(input_dev);
exit_unregister_device:
rc_unregister_device(rc_dev);
rc_dev = NULL;
fail3: usb_kill_urb(ati_remote->irq_urb);
exit_kill_urbs:
usb_kill_urb(ati_remote->irq_urb);
usb_kill_urb(ati_remote->out_urb);
fail2: ati_remote_free_buffers(ati_remote);
fail1: rc_free_device(rc_dev);
exit_free_buffers:
ati_remote_free_buffers(ati_remote);
exit_free_dev_rdev:
rc_free_device(rc_dev);
kfree(ati_remote);
return err;
}
Expand Down
20 changes: 10 additions & 10 deletions trunk/drivers/media/rc/ene_ir.c
Original file line number Diff line number Diff line change
Expand Up @@ -1003,7 +1003,7 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
dev = kzalloc(sizeof(struct ene_device), GFP_KERNEL);
rdev = rc_allocate_device();
if (!dev || !rdev)
goto failure;
goto exit_free_dev_rdev;

/* validate resources */
error = -ENODEV;
Expand All @@ -1014,10 +1014,10 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)

if (!pnp_port_valid(pnp_dev, 0) ||
pnp_port_len(pnp_dev, 0) < ENE_IO_SIZE)
goto failure;
goto exit_free_dev_rdev;

if (!pnp_irq_valid(pnp_dev, 0))
goto failure;
goto exit_free_dev_rdev;

spin_lock_init(&dev->hw_lock);

Expand All @@ -1033,7 +1033,7 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
/* detect hardware version and features */
error = ene_hw_detect(dev);
if (error)
goto failure;
goto exit_free_dev_rdev;

if (!dev->hw_learning_and_tx_capable && txsim) {
dev->hw_learning_and_tx_capable = true;
Expand Down Expand Up @@ -1078,27 +1078,27 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
/* claim the resources */
error = -EBUSY;
if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) {
goto failure;
goto exit_free_dev_rdev;
}

dev->irq = pnp_irq(pnp_dev, 0);
if (request_irq(dev->irq, ene_isr,
IRQF_SHARED, ENE_DRIVER_NAME, (void *)dev)) {
goto failure2;
goto exit_release_hw_io;
}

error = rc_register_device(rdev);
if (error < 0)
goto failure3;
goto exit_free_irq;

pr_notice("driver has been successfully loaded\n");
return 0;

failure3:
exit_free_irq:
free_irq(dev->irq, dev);
failure2:
exit_release_hw_io:
release_region(dev->hw_io, ENE_IO_SIZE);
failure:
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(dev);
return error;
Expand Down
20 changes: 10 additions & 10 deletions trunk/drivers/media/rc/fintek-cir.c
Original file line number Diff line number Diff line change
Expand Up @@ -500,18 +500,18 @@ static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id
/* input device for IR remote (and tx) */
rdev = rc_allocate_device();
if (!rdev)
goto failure;
goto exit_free_dev_rdev;

ret = -ENODEV;
/* validate pnp resources */
if (!pnp_port_valid(pdev, 0)) {
dev_err(&pdev->dev, "IR PNP Port not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

if (!pnp_irq_valid(pdev, 0)) {
dev_err(&pdev->dev, "IR PNP IRQ not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

fintek->cir_addr = pnp_port_start(pdev, 0);
Expand All @@ -528,7 +528,7 @@ static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id

ret = fintek_hw_detect(fintek);
if (ret)
goto failure;
goto exit_free_dev_rdev;

/* Initialize CIR & CIR Wake Logical Devices */
fintek_config_mode_enable(fintek);
Expand Down Expand Up @@ -561,15 +561,15 @@ static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id
/* now claim resources */
if (!request_region(fintek->cir_addr,
fintek->cir_port_len, FINTEK_DRIVER_NAME))
goto failure;
goto exit_free_dev_rdev;

if (request_irq(fintek->cir_irq, fintek_cir_isr, IRQF_SHARED,
FINTEK_DRIVER_NAME, (void *)fintek))
goto failure2;
goto exit_free_cir_addr;

ret = rc_register_device(rdev);
if (ret)
goto failure3;
goto exit_free_irq;

device_init_wakeup(&pdev->dev, true);
fintek->rdev = rdev;
Expand All @@ -579,11 +579,11 @@ static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id

return 0;

failure3:
exit_free_irq:
free_irq(fintek->cir_irq, fintek);
failure2:
exit_free_cir_addr:
release_region(fintek->cir_addr, fintek->cir_port_len);
failure:
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(fintek);

Expand Down
18 changes: 9 additions & 9 deletions trunk/drivers/media/rc/ite-cir.c
Original file line number Diff line number Diff line change
Expand Up @@ -1472,7 +1472,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
/* input device for IR remote (and tx) */
rdev = rc_allocate_device();
if (!rdev)
goto failure;
goto exit_free_dev_rdev;
itdev->rdev = rdev;

ret = -ENODEV;
Expand All @@ -1498,12 +1498,12 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
if (!pnp_port_valid(pdev, io_rsrc_no) ||
pnp_port_len(pdev, io_rsrc_no) != dev_desc->io_region_size) {
dev_err(&pdev->dev, "IR PNP Port not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

if (!pnp_irq_valid(pdev, 0)) {
dev_err(&pdev->dev, "PNP IRQ not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

/* store resource values */
Expand Down Expand Up @@ -1595,25 +1595,25 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
/* now claim resources */
if (!request_region(itdev->cir_addr,
dev_desc->io_region_size, ITE_DRIVER_NAME))
goto failure;
goto exit_free_dev_rdev;

if (request_irq(itdev->cir_irq, ite_cir_isr, IRQF_SHARED,
ITE_DRIVER_NAME, (void *)itdev))
goto failure2;
goto exit_release_cir_addr;

ret = rc_register_device(rdev);
if (ret)
goto failure3;
goto exit_free_irq;

ite_pr(KERN_NOTICE, "driver has been successfully loaded\n");

return 0;

failure3:
exit_free_irq:
free_irq(itdev->cir_irq, itdev);
failure2:
exit_release_cir_addr:
release_region(itdev->cir_addr, itdev->params.io_region_size);
failure:
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(itdev);

Expand Down
30 changes: 15 additions & 15 deletions trunk/drivers/media/rc/nuvoton-cir.c
Original file line number Diff line number Diff line change
Expand Up @@ -986,25 +986,25 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
/* input device for IR remote (and tx) */
rdev = rc_allocate_device();
if (!rdev)
goto failure;
goto exit_free_dev_rdev;

ret = -ENODEV;
/* validate pnp resources */
if (!pnp_port_valid(pdev, 0) ||
pnp_port_len(pdev, 0) < CIR_IOREG_LENGTH) {
dev_err(&pdev->dev, "IR PNP Port not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

if (!pnp_irq_valid(pdev, 0)) {
dev_err(&pdev->dev, "PNP IRQ not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

if (!pnp_port_valid(pdev, 1) ||
pnp_port_len(pdev, 1) < CIR_IOREG_LENGTH) {
dev_err(&pdev->dev, "Wake PNP Port not valid!\n");
goto failure;
goto exit_free_dev_rdev;
}

nvt->cir_addr = pnp_port_start(pdev, 0);
Expand All @@ -1027,7 +1027,7 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)

ret = nvt_hw_detect(nvt);
if (ret)
goto failure;
goto exit_free_dev_rdev;

/* Initialize CIR & CIR Wake Logical Devices */
nvt_efm_enable(nvt);
Expand Down Expand Up @@ -1070,23 +1070,23 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
/* now claim resources */
if (!request_region(nvt->cir_addr,
CIR_IOREG_LENGTH, NVT_DRIVER_NAME))
goto failure;
goto exit_free_dev_rdev;

if (request_irq(nvt->cir_irq, nvt_cir_isr, IRQF_SHARED,
NVT_DRIVER_NAME, (void *)nvt))
goto failure2;
goto exit_release_cir_addr;

if (!request_region(nvt->cir_wake_addr,
CIR_IOREG_LENGTH, NVT_DRIVER_NAME))
goto failure3;
goto exit_free_irq;

if (request_irq(nvt->cir_wake_irq, nvt_cir_wake_isr, IRQF_SHARED,
NVT_DRIVER_NAME, (void *)nvt))
goto failure4;
goto exit_release_cir_wake_addr;

ret = rc_register_device(rdev);
if (ret)
goto failure5;
goto exit_free_wake_irq;

device_init_wakeup(&pdev->dev, true);
nvt->rdev = rdev;
Expand All @@ -1098,15 +1098,15 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)

return 0;

failure5:
exit_free_wake_irq:
free_irq(nvt->cir_wake_irq, nvt);
failure4:
exit_release_cir_wake_addr:
release_region(nvt->cir_wake_addr, CIR_IOREG_LENGTH);
failure3:
exit_free_irq:
free_irq(nvt->cir_irq, nvt);
failure2:
exit_release_cir_addr:
release_region(nvt->cir_addr, CIR_IOREG_LENGTH);
failure:
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(nvt);

Expand Down

0 comments on commit 05f566e

Please sign in to comment.