Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 849da2dc authored by Jingoo Han's avatar Jingoo Han Committed by Greg Kroah-Hartman
Browse files

USB: ehci-w90x900: Use devm_ioremap_resource()



Use devm_ioremap_resource() to make cleanup paths simpler.

Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 644db166
Loading
Loading
Loading
Loading
+5 −16
Original line number Original line Diff line number Diff line
@@ -58,17 +58,12 @@ static int usb_w90x900_probe(const struct hc_driver *driver,
	hcd->rsrc_start = res->start;
	hcd->rsrc_start = res->start;
	hcd->rsrc_len = resource_size(res);
	hcd->rsrc_len = resource_size(res);


	if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) {
	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
		retval = -EBUSY;
	if (IS_ERR(hcd->regs)) {
		retval = PTR_ERR(hcd->regs);
		goto err2;
		goto err2;
	}
	}


	hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len);
	if (hcd->regs == NULL) {
		retval = -EFAULT;
		goto err3;
	}

	ehci = hcd_to_ehci(hcd);
	ehci = hcd_to_ehci(hcd);
	ehci->caps = hcd->regs;
	ehci->caps = hcd->regs;
	ehci->regs = hcd->regs +
	ehci->regs = hcd->regs +
@@ -88,18 +83,14 @@ static int usb_w90x900_probe(const struct hc_driver *driver,


	irq = platform_get_irq(pdev, 0);
	irq = platform_get_irq(pdev, 0);
	if (irq < 0)
	if (irq < 0)
		goto err4;
		goto err2;


	retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
	retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
	if (retval != 0)
	if (retval != 0)
		goto err4;
		goto err2;


	device_wakeup_enable(hcd->self.controller);
	device_wakeup_enable(hcd->self.controller);
	return retval;
	return retval;
err4:
	iounmap(hcd->regs);
err3:
	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
err2:
err2:
	usb_put_hcd(hcd);
	usb_put_hcd(hcd);
err1:
err1:
@@ -110,8 +101,6 @@ static void usb_w90x900_remove(struct usb_hcd *hcd,
			struct platform_device *pdev)
			struct platform_device *pdev)
{
{
	usb_remove_hcd(hcd);
	usb_remove_hcd(hcd);
	iounmap(hcd->regs);
	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
	usb_put_hcd(hcd);
	usb_put_hcd(hcd);
}
}