On 2/11/22 04:27, zhaoxiao wrote:
> platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static
> allocation of IRQ resources in DT core code, this causes an issue
> when using hierarchical interrupt domains using "interrupts" property
> in the node as this bypassed the hierarchical setup and messed up the
> irq chaining.
>
> In preparation for removal of static setup of IRQ resource from DT core
> code use platform_get_irq().
>
> Signed-off-by: zhaoxiao <zhaox...@uniontech.com>

applied.
Thanks!
Helge

> ---
>  drivers/video/fbdev/s3c-fb.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/video/fbdev/s3c-fb.c b/drivers/video/fbdev/s3c-fb.c
> index 3b134e1bbc38..6ead7d3e2312 100644
> --- a/drivers/video/fbdev/s3c-fb.c
> +++ b/drivers/video/fbdev/s3c-fb.c
> @@ -1360,7 +1360,6 @@ static int s3c_fb_probe(struct platform_device *pdev)
>       struct device *dev = &pdev->dev;
>       struct s3c_fb_platdata *pd;
>       struct s3c_fb *sfb;
> -     struct resource *res;
>       int win;
>       int ret = 0;
>       u32 reg;
> @@ -1418,13 +1417,13 @@ static int s3c_fb_probe(struct platform_device *pdev)
>               goto err_lcd_clk;
>       }
>
> -     res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> -     if (!res) {
> +     sfb->irq_no = platform_get_irq(pdev, 0);
> +     if (sfb->irq_no < 0) {
>               dev_err(dev, "failed to acquire irq resource\n");
>               ret = -ENOENT;
>               goto err_lcd_clk;
>       }
> -     sfb->irq_no = res->start;
> +
>       ret = devm_request_irq(dev, sfb->irq_no, s3c_fb_irq,
>                         0, "s3c_fb", sfb);
>       if (ret) {
>

Reply via email to