usb: ohci-s3c2410: Use platform_get_irq() to get the interrupt
authorRob Herring <robh@kernel.org>
Wed, 15 Dec 2021 22:53:57 +0000 (16:53 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Dec 2021 15:51:59 +0000 (16:51 +0100)
Accessing platform device resources directly has long been deprecated for
DT as IRQ resources may not be available at device creation time. Drivers
relying on the static IRQ resources is blocking removing the static setup
from the DT core code.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211215225358.1993774-1-robh@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ohci-s3c2410.c

index 1bec9b5..12264c0 100644 (file)
@@ -356,7 +356,7 @@ static int ohci_hcd_s3c2410_probe(struct platform_device *dev)
 {
        struct usb_hcd *hcd = NULL;
        struct s3c2410_hcd_info *info = dev_get_platdata(&dev->dev);
-       int retval;
+       int retval, irq;
 
        s3c2410_usb_set_power(info, 1, 1);
        s3c2410_usb_set_power(info, 2, 1);
@@ -388,9 +388,15 @@ static int ohci_hcd_s3c2410_probe(struct platform_device *dev)
                goto err_put;
        }
 
+       irq = platform_get_irq(dev, 0);
+       if (irq < 0) {
+               retval = irq;
+               goto err_put;
+       }
+
        s3c2410_start_hc(dev, hcd);
 
-       retval = usb_add_hcd(hcd, dev->resource[1].start, 0);
+       retval = usb_add_hcd(hcd, irq, 0);
        if (retval != 0)
                goto err_ioremap;