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 <zhaoxiao@xxxxxxxxxxxxx> 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) { >