usb: isp1760: Pass resource pointer to isp1760_register
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 20 Jan 2015 22:55:51 +0000 (00:55 +0200)
committerFelipe Balbi <balbi@ti.com>
Tue, 27 Jan 2015 15:38:50 +0000 (09:38 -0600)
The function takes quite a few arguments, passing the resource pointer
instead of the start address and length simplifies it a bit.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/host/isp1760-hcd.c
drivers/usb/host/isp1760-hcd.h
drivers/usb/host/isp1760-if.c

index 9ba3023130ebd3fff32e489d3e5e72deb804306d..e99dafa6cacd463b655af30bcf4bd77f5ae61707 100644 (file)
@@ -2211,9 +2211,8 @@ void isp1760_deinit_kmem_cache(void)
        kmem_cache_destroy(urb_listitem_cachep);
 }
 
-int isp1760_register(phys_addr_t res_start, resource_size_t res_len, int irq,
-                    unsigned long irqflags, struct device *dev,
-                    unsigned int devflags)
+int isp1760_register(struct resource *mem, int irq, unsigned long irqflags,
+                    struct device *dev, unsigned int devflags)
 {
        struct usb_hcd *hcd;
        struct isp1760_hcd *priv;
@@ -2239,15 +2238,15 @@ int isp1760_register(phys_addr_t res_start, resource_size_t res_len, int irq,
        }
 
        init_memory(priv);
-       hcd->regs = ioremap(res_start, res_len);
+       hcd->regs = ioremap(mem->start, resource_size(mem));
        if (!hcd->regs) {
                ret = -EIO;
                goto err_put;
        }
 
        hcd->irq = irq;
-       hcd->rsrc_start = res_start;
-       hcd->rsrc_len = res_len;
+       hcd->rsrc_start = mem->start;
+       hcd->rsrc_len = resource_size(mem);
 
        ret = usb_add_hcd(hcd, irq, irqflags);
        if (ret)
index cc656028eb3dc9a08545721044a600ff70ea4f3d..7fc510f9bf6e7a6d70be89a49577dc98ca9bcfae 100644 (file)
@@ -2,9 +2,8 @@
 #define _ISP1760_HCD_H_
 
 /* exports for if */
-int isp1760_register(phys_addr_t res_start, resource_size_t res_len, int irq,
-                    unsigned long irqflags, struct device *dev,
-                    unsigned int devflags);
+int isp1760_register(struct resource *mem, int irq, unsigned long irqflags,
+                    struct device *dev, unsigned int devflags);
 void isp1760_unregister(struct device *dev);
 
 int isp1760_init_kmem_once(void);
index ce572cc5ea507c8149ea9bc7a02d2f7e3187d850..3a9b4f6d29cbd5ead39e0edb74c5ecca251c3b62 100644 (file)
@@ -133,8 +133,8 @@ static int isp1761_pci_probe(struct pci_dev *dev,
        writel(reg_data, iobase + PLX_INT_CSR_REG);
 
        dev->dev.dma_mask = NULL;
-       ret_status = isp1760_register(pci_mem_phy0, memlength, dev->irq,
-                                     IRQF_SHARED, &dev->dev, devflags);
+       ret_status = isp1760_register(&dev->resource[3], dev->irq, IRQF_SHARED,
+                                     &dev->dev, devflags);
        if (ret_status < 0)
                goto cleanup3;
 
@@ -257,8 +257,8 @@ static int isp1760_plat_probe(struct platform_device *pdev)
                        devflags |= ISP1760_FLAG_DREQ_POL_HIGH;
        }
 
-       ret = isp1760_register(mem_res->start, mem_size, irq_res->start,
-                              irqflags, &pdev->dev, devflags);
+       ret = isp1760_register(mem_res, irq_res->start, irqflags, &pdev->dev,
+                              devflags);
        if (ret < 0)
                goto cleanup;