On Wed, Mar 19, 2025 at 5:44 AM Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx> wrote: > > irq_domain_add_linear() is going away as being obsolete now. Switch to > the preferred irq_domain_create_linear(). That differs in the first > parameter: It takes more generic struct fwnode_handle instead of struct > device_node. Therefore, of_fwnode_handle() is added around the > parameter. > > Note some of the users can likely use dev->fwnode directly instead of > indirect of_fwnode_handle(dev->of_node). But dev->fwnode is not > guaranteed to be set for all, so this has to be investigated on case to > case basis (by people who can actually test with the HW). > > Signed-off-by: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx> > Cc: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: "Christian König" <christian.koenig@xxxxxxx> > Cc: David Airlie <airlied@xxxxxxxxx> > Cc: Simona Vetter <simona@xxxxxxxx> > Cc: Rob Clark <robdclark@xxxxxxxxx> > Cc: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> > Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > Cc: Sean Paul <sean@xxxxxxxxxx> > Cc: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> > Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 4 ++-- > drivers/gpu/drm/msm/msm_mdss.c | 2 +- > drivers/gpu/ipu-v3/ipu-common.c | 4 ++-- I would suggest splitting this by driver. Alex > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c > index 19ce4da285e8..38e7043016e1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c > @@ -725,8 +725,8 @@ static const struct irq_domain_ops amdgpu_hw_irqdomain_ops = { > */ > int amdgpu_irq_add_domain(struct amdgpu_device *adev) > { > - adev->irq.domain = irq_domain_add_linear(NULL, AMDGPU_MAX_IRQ_SRC_ID, > - &amdgpu_hw_irqdomain_ops, adev); > + adev->irq.domain = irq_domain_create_linear(NULL, AMDGPU_MAX_IRQ_SRC_ID, > + &amdgpu_hw_irqdomain_ops, adev); > if (!adev->irq.domain) { > DRM_ERROR("GPU irq add domain failed\n"); > return -ENODEV; > diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c > index dcb49fd30402..9d006ee88a8a 100644 > --- a/drivers/gpu/drm/msm/msm_mdss.c > +++ b/drivers/gpu/drm/msm/msm_mdss.c > @@ -150,7 +150,7 @@ static int _msm_mdss_irq_domain_add(struct msm_mdss *msm_mdss) > > dev = msm_mdss->dev; > > - domain = irq_domain_add_linear(dev->of_node, 32, > + domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), 32, > &msm_mdss_irqdomain_ops, msm_mdss); > if (!domain) { > dev_err(dev, "failed to add irq_domain\n"); > diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c > index fa77e4e64f12..223e6d563a6b 100644 > --- a/drivers/gpu/ipu-v3/ipu-common.c > +++ b/drivers/gpu/ipu-v3/ipu-common.c > @@ -1169,8 +1169,8 @@ static int ipu_irq_init(struct ipu_soc *ipu) > }; > int ret, i; > > - ipu->domain = irq_domain_add_linear(ipu->dev->of_node, IPU_NUM_IRQS, > - &irq_generic_chip_ops, ipu); > + ipu->domain = irq_domain_create_linear(of_fwnode_handle(ipu->dev->of_node), IPU_NUM_IRQS, > + &irq_generic_chip_ops, ipu); > if (!ipu->domain) { > dev_err(ipu->dev, "failed to add irq domain\n"); > return -ENODEV; > -- > 2.49.0 >