Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 299115
b: refs/heads/master
c: 388bc26
h: refs/heads/master
i:
  299113: 1e64b5d
  299111: 74b0baf
v: v3
  • Loading branch information
Shubhrajyoti D authored and Greg Kroah-Hartman committed Apr 9, 2012
1 parent e967282 commit 8cecf73
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 24 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: c3d8b76f61586714cdc5f219ba45592a54caaa55
refs/heads/master: 388bc26226807fbcf4c626b81bb17a2e74aa4b1b
43 changes: 20 additions & 23 deletions trunk/drivers/tty/serial/omap-serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -1381,29 +1381,24 @@ static int serial_omap_probe(struct platform_device *pdev)
return -ENODEV;
}

if (!request_mem_region(mem->start, resource_size(mem),
if (!devm_request_mem_region(&pdev->dev, mem->start, resource_size(mem),
pdev->dev.driver->name)) {
dev_err(&pdev->dev, "memory region already claimed\n");
return -EBUSY;
}

dma_rx = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
if (!dma_rx) {
ret = -EINVAL;
goto err;
}
if (!dma_rx)
return -ENXIO;

dma_tx = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx");
if (!dma_tx) {
ret = -EINVAL;
goto err;
}
if (!dma_tx)
return -ENXIO;

up = devm_kzalloc(&pdev->dev, sizeof(*up), GFP_KERNEL);
if (!up)
return -ENOMEM;

up = kzalloc(sizeof(*up), GFP_KERNEL);
if (up == NULL) {
ret = -ENOMEM;
goto do_release_region;
}
up->pdev = pdev;
up->port.dev = &pdev->dev;
up->port.type = PORT_OMAP;
Expand All @@ -1423,16 +1418,17 @@ static int serial_omap_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n",
up->port.line);
ret = -ENODEV;
goto err;
goto err_port_line;
}

sprintf(up->name, "OMAP UART%d", up->port.line);
up->port.mapbase = mem->start;
up->port.membase = ioremap(mem->start, resource_size(mem));
up->port.membase = devm_ioremap(&pdev->dev, mem->start,
resource_size(mem));
if (!up->port.membase) {
dev_err(&pdev->dev, "can't ioremap UART\n");
ret = -ENOMEM;
goto err;
goto err_ioremap;
}

up->port.flags = omap_up_info->flags;
Expand Down Expand Up @@ -1478,16 +1474,19 @@ static int serial_omap_probe(struct platform_device *pdev)

ret = uart_add_one_port(&serial_omap_reg, &up->port);
if (ret != 0)
goto do_release_region;
goto err_add_port;

pm_runtime_put(&pdev->dev);
platform_set_drvdata(pdev, up);
return 0;
err:

err_add_port:
pm_runtime_put(&pdev->dev);
pm_runtime_disable(&pdev->dev);
err_ioremap:
err_port_line:
dev_err(&pdev->dev, "[UART%d]: failure [%s]: %d\n",
pdev->id, __func__, ret);
do_release_region:
release_mem_region(mem->start, resource_size(mem));
return ret;
}

Expand All @@ -1499,8 +1498,6 @@ static int serial_omap_remove(struct platform_device *dev)
pm_runtime_disable(&up->pdev->dev);
uart_remove_one_port(&serial_omap_reg, &up->port);
pm_qos_remove_request(&up->pm_qos_request);

kfree(up);
}

platform_set_drvdata(dev, NULL);
Expand Down

0 comments on commit 8cecf73

Please sign in to comment.