Commit 81574fc6 authored by Jingoo Han's avatar Jingoo Han Committed by Greg Kroah-Hartman
Browse files

USB: ohci-octeon: Use devm_ioremap_resource()



Use devm_ioremap_resource() to make cleanup paths simpler.

Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Acked-by: default avatarDavid Daney <david.daney@cavium.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 09796be1
Loading
Loading
Loading
Loading
+5 −18
Original line number Original line Diff line number Diff line
@@ -138,20 +138,12 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev)
	hcd->rsrc_start = res_mem->start;
	hcd->rsrc_start = res_mem->start;
	hcd->rsrc_len = resource_size(res_mem);
	hcd->rsrc_len = resource_size(res_mem);


	if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
	reg_base = devm_ioremap_resource(&pdev->dev, res_mem);
				OCTEON_OHCI_HCD_NAME)) {
	if (IS_ERR(reg_base)) {
		dev_err(&pdev->dev, "request_mem_region failed\n");
		ret = PTR_ERR(reg_base);
		ret = -EBUSY;
		goto err1;
		goto err1;
	}
	}


	reg_base = ioremap(hcd->rsrc_start, hcd->rsrc_len);
	if (!reg_base) {
		dev_err(&pdev->dev, "ioremap failed\n");
		ret = -ENOMEM;
		goto err2;
	}

	ohci_octeon_hw_start();
	ohci_octeon_hw_start();


	hcd->regs = reg_base;
	hcd->regs = reg_base;
@@ -168,7 +160,7 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev)
	ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
	ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
	if (ret) {
	if (ret) {
		dev_dbg(&pdev->dev, "failed to add hcd with err %d\n", ret);
		dev_dbg(&pdev->dev, "failed to add hcd with err %d\n", ret);
		goto err3;
		goto err2;
	}
	}


	device_wakeup_enable(hcd->self.controller);
	device_wakeup_enable(hcd->self.controller);
@@ -177,12 +169,9 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev)


	return 0;
	return 0;


err3:
err2:
	ohci_octeon_hw_stop();
	ohci_octeon_hw_stop();


	iounmap(hcd->regs);
err2:
	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
err1:
err1:
	usb_put_hcd(hcd);
	usb_put_hcd(hcd);
	return ret;
	return ret;
@@ -195,8 +184,6 @@ static int ohci_octeon_drv_remove(struct platform_device *pdev)
	usb_remove_hcd(hcd);
	usb_remove_hcd(hcd);


	ohci_octeon_hw_stop();
	ohci_octeon_hw_stop();
	iounmap(hcd->regs);
	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
	usb_put_hcd(hcd);
	usb_put_hcd(hcd);


	return 0;
	return 0;