Hi,

Roger Quadros <rog...@ti.com> writes:
> On 10/06/16 11:18, Felipe Balbi wrote:
>> 
>> Hi,
>> 
>> Roger Quadros <rog...@ti.com> writes:
>>>>    dwc->xhci_resource[1] = *res;
>>>
>>> Probably not as we don't want to change parent/child members.
>> 
>> oh, you had already replied. Sorry. This is correct
>> 
> np :).
>
> So what i'll do is get the irq via platform_get_irq() and friends
> and if it was a success use platform_get_resource() and friends
> to get struct resource and just edit the relevant parts for the
> XHCI irq resource.
>
> Sounds OK?
>
> something like this.
>
> +     int                     ret, irq;
> +     struct resource         *res;
> +     struct platform_device  *dwc3_pdev = to_platform_device(dwc->dev);
> +
> +     irq = platform_get_irq_byname(dwc3_pdev, "host");
> +     if (irq == -EPROBE_DEFER)
> +             return irq;
> +
> +     if (irq <= 0) {
> +             irq = platform_get_irq_byname(dwc3_pdev, "dwc_usb3");
> +             if (irq == -EPROBE_DEFER)
> +                     return irq;
> +
> +             if (irq <= 0) {
> +                     irq = platform_get_irq(dwc3_pdev, 0);
> +                     if (irq <= 0) {
> +                             if (irq != -EPROBE_DEFER) {
> +                                     dev_err(dwc->dev,
> +                                             "missing host IRQ\n");
> +                             }
> +                             return irq;
> +                     } else {
> +                             res = platform_get_resource(dwc3_pdev,
> +                                                         IORESOURCE_IRQ, 0);
> +                     }
> +             } else {
> +                     res = platform_get_resource_byname(dwc3_pdev,
> +                                                        IORESOURCE_IRQ,
> +                                                        "dwc_usb3");
> +             }
> +
> +     } else {
> +             res = platform_get_resource_byname(dwc3_pdev, IORESOURCE_IRQ,
> +                                                "host");
> +     }
> +
> +     dwc->xhci_resources[1].start = irq;
> +     dwc->xhci_resources[1].end = irq;
> +     dwc->xhci_resources[1].flags = res->flags;
> +     dwc->xhci_resources[1].name = res->name;

looks okay to me.

-- 
balbi

Attachment: signature.asc
Description: PGP signature

Reply via email to