usb: gadget: udc: atmel: Use devm_ioremap_resource()
Subsystems (3)
PATCH 1/2 usb: gadget: udc: atmel: Use devm_ioremap_resource()
As devm_ioremap_resource() checks for valid resource, make use of it instead of testing ourselves. As a bonus memory region is requested.
Signed-off-by Ladislav Michl <[email protected]>
--- drivers/usb/gadget/udc/atmel_usba_udc.c | 40 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 21 deletions(-)
drivers/usb/gadget/udc/atmel_usba_udc.c +19 -21
@@ -2272,7 +2272,7 @@ static struct usba_ep * usba_udc_pdata(struct platform_device *pdev,static int usba_udc_probe (struct platform_device *pdev) { -struct resource *regs, *fifo; +struct resource *res;struct clk *pclk, *hclk;struct usba_udc *udc;int irq, ret, i;
@@ -2284,10 +2284,24 @@ static int usba_udc_probe(struct platform_device *pdev) udc->gadget = usba_gadget_template;INIT_LIST_HEAD (&udc->gadget.ep_list); - regs =platform_get_resource (pdev,IORESOURCE_MEM ,CTRL_IOMEM_ID ); - fifo =platform_get_resource (pdev,IORESOURCE_MEM ,FIFO_IOMEM_ID ); -if (!regs || !fifo) -return -ENXIO ; + res =platform_get_resource (pdev,IORESOURCE_MEM ,CTRL_IOMEM_ID ); + udc->regs =devm_ioremap_resource (&pdev->dev, res); +if (IS_ERR (udc->regs)) { + ret =PTR_ERR (udc->regs); +dev_err (&pdev->dev,"Unable to map I/O memory: %d\n" , ret); +return ret; + } +dev_info (&pdev->dev,"MMIO registers at %pR mapped at %p\n" , + res, udc->regs); + + res =platform_get_resource (pdev,IORESOURCE_MEM ,FIFO_IOMEM_ID ); + udc->fifo =devm_ioremap_resource (&pdev->dev, res); +if (IS_ERR (udc->fifo)) { + ret =PTR_ERR (udc->fifo); +dev_err (&pdev->dev,"Unable to map FIFO: %d\n" , ret); +return ret; + } +dev_info (&pdev->dev,"FIFO at %pR mapped at %p\n" , res, udc->fifo); irq =platform_get_irq (pdev,0 );if (irq <0 )
@@ -2307,22 +2321,6 @@ static int usba_udc_probe(struct platform_device *pdev) udc->hclk = hclk; udc->vbus_pin = -ENODEV ; - ret = -ENOMEM ; - udc->regs =devm_ioremap (&pdev->dev, regs->start,resource_size (regs)); -if (!udc->regs) { -dev_err (&pdev->dev,"Unable to map I/O memory, aborting.\n" ); -return ret; - } -dev_info (&pdev->dev,"MMIO registers at 0x%08lx mapped at %p\n" , - (unsigned long )regs->start, udc->regs); - udc->fifo =devm_ioremap (&pdev->dev, fifo->start,resource_size (fifo)); -if (!udc->fifo) { -dev_err (&pdev->dev,"Unable to map FIFO, aborting.\n" ); -return ret; - } -dev_info (&pdev->dev,"FIFO at 0x%08lx mapped at %p\n" , - (unsigned long )fifo->start, udc->fifo); -platform_set_drvdata (pdev, udc);/* Make sure we start from a clean slate */