Message ID | 20211215225358.1993774-1-robh@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | b6886c7826a17eaa908d7bae1537812bb78eb9fe |
Headers | show |
Series | usb: ohci-s3c2410: Use platform_get_irq() to get the interrupt | expand |
On 15/12/2021 23:53, Rob Herring wrote: > 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. > > Signed-off-by: Rob Herring <robh@kernel.org> > --- > drivers/usb/host/ohci-s3c2410.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Best regards, Krzysztof
On Wed, Dec 15, 2021 at 04:53:57PM -0600, Rob Herring wrote: > 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. > > Signed-off-by: Rob Herring <robh@kernel.org> > --- Acked-by: Alan Stern <stern@rowland.harvard.edu> > drivers/usb/host/ohci-s3c2410.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c > index 1bec9b585e2d..12264c048601 100644 > --- a/drivers/usb/host/ohci-s3c2410.c > +++ b/drivers/usb/host/ohci-s3c2410.c > @@ -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; > > -- > 2.32.0 >
diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c index 1bec9b585e2d..12264c048601 100644 --- a/drivers/usb/host/ohci-s3c2410.c +++ b/drivers/usb/host/ohci-s3c2410.c @@ -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;
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. Signed-off-by: Rob Herring <robh@kernel.org> --- drivers/usb/host/ohci-s3c2410.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)