usb: ohci-sa1111: use sa1111_get_irq() to obtain IRQ resources
authorRussell King <rmk+kernel@armlinux.org.uk>
Tue, 26 Sep 2017 10:12:12 +0000 (11:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Oct 2017 07:58:42 +0000 (09:58 +0200)
Use the provided sa1111_get_irq() to fetch the IRQ resources for the
SA1111 OHCI driver.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ohci-sa1111.c

index 3a9ea32508df4e83454b3ce00676ccdf660ac839..9aa4fe1800b994be9eadfd3dd8a5eb435b3b660a 100644 (file)
@@ -178,7 +178,7 @@ static void sa1111_stop_hc(struct sa1111_dev *dev)
 static int ohci_hcd_sa1111_probe(struct sa1111_dev *dev)
 {
        struct usb_hcd *hcd;
-       int ret;
+       int ret, irq;
 
        if (usb_disabled())
                return -ENODEV;
@@ -196,6 +196,12 @@ static int ohci_hcd_sa1111_probe(struct sa1111_dev *dev)
        hcd->rsrc_start = dev->res.start;
        hcd->rsrc_len = resource_size(&dev->res);
 
+       irq = sa1111_get_irq(dev, 1);
+       if (irq <= 0) {
+               ret = irq ? : -ENXIO;
+               goto err1;
+       }
+
        if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) {
                dev_dbg(&dev->dev, "request_mem_region failed\n");
                ret = -EBUSY;
@@ -208,7 +214,7 @@ static int ohci_hcd_sa1111_probe(struct sa1111_dev *dev)
        if (ret)
                goto err2;
 
-       ret = usb_add_hcd(hcd, dev->irq[1], 0);
+       ret = usb_add_hcd(hcd, irq, 0);
        if (ret == 0) {
                device_wakeup_enable(hcd->self.controller);
                return ret;