diff options
Diffstat (limited to 'drivers/usb/host/ehci-grlib.c')
| -rw-r--r-- | drivers/usb/host/ehci-grlib.c | 18 | 
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c index 22ca45c079a..3180cb3624d 100644 --- a/drivers/usb/host/ehci-grlib.c +++ b/drivers/usb/host/ehci-grlib.c @@ -127,12 +127,6 @@ static int __devinit ehci_hcd_grlib_probe(struct platform_device *op)  	hcd->rsrc_start = res.start;  	hcd->rsrc_len = resource_size(&res); -	if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) { -		printk(KERN_ERR "%s: request_mem_region failed\n", __FILE__); -		rv = -EBUSY; -		goto err_rmr; -	} -  	irq = irq_of_parse_and_map(dn, 0);  	if (irq == NO_IRQ) {  		printk(KERN_ERR "%s: irq_of_parse_and_map failed\n", __FILE__); @@ -140,9 +134,9 @@ static int __devinit ehci_hcd_grlib_probe(struct platform_device *op)  		goto err_irq;  	} -	hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); +	hcd->regs = devm_request_and_ioremap(&op->dev, &res);  	if (!hcd->regs) { -		printk(KERN_ERR "%s: ioremap failed\n", __FILE__); +		pr_err("%s: devm_request_and_ioremap failed\n", __FILE__);  		rv = -ENOMEM;  		goto err_ioremap;  	} @@ -161,17 +155,13 @@ static int __devinit ehci_hcd_grlib_probe(struct platform_device *op)  	rv = usb_add_hcd(hcd, irq, 0);  	if (rv) -		goto err_ehci; +		goto err_ioremap;  	return 0; -err_ehci: -	iounmap(hcd->regs);  err_ioremap:  	irq_dispose_mapping(irq);  err_irq: -	release_mem_region(hcd->rsrc_start, hcd->rsrc_len); -err_rmr:  	usb_put_hcd(hcd);  	return rv; @@ -188,9 +178,7 @@ static int ehci_hcd_grlib_remove(struct platform_device *op)  	usb_remove_hcd(hcd); -	iounmap(hcd->regs);  	irq_dispose_mapping(hcd->irq); -	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);  	usb_put_hcd(hcd);  |