Message ID | 20250319092951.37667-19-jirislaby@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | irqdomain: Cleanups and Documentation | expand |
On Wed, Mar 19, 2025 at 5:44 AM Jiri Slaby (SUSE) <jirislaby@kernel.org> 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@kernel.org> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: "Christian König" <christian.koenig@amd.com> > Cc: David Airlie <airlied@gmail.com> > Cc: Simona Vetter <simona@ffwll.ch> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Abhinav Kumar <quic_abhinavk@quicinc.com> > Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Cc: Sean Paul <sean@poorly.run> > Cc: Marijn Suijten <marijn.suijten@somainline.org> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: amd-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org > --- > 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 >
On 19. 03. 25, 14:31, Alex Deucher wrote: > On Wed, Mar 19, 2025 at 5:44 AM Jiri Slaby (SUSE) <jirislaby@kernel.org> 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@kernel.org> >> Cc: Alex Deucher <alexander.deucher@amd.com> >> Cc: "Christian König" <christian.koenig@amd.com> >> Cc: David Airlie <airlied@gmail.com> >> Cc: Simona Vetter <simona@ffwll.ch> >> Cc: Rob Clark <robdclark@gmail.com> >> Cc: Abhinav Kumar <quic_abhinavk@quicinc.com> >> Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> Cc: Sean Paul <sean@poorly.run> >> Cc: Marijn Suijten <marijn.suijten@somainline.org> >> Cc: Philipp Zabel <p.zabel@pengutronix.de> >> Cc: amd-gfx@lists.freedesktop.org >> Cc: dri-devel@lists.freedesktop.org >> --- >> 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. Done for v3. thanks,
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;
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@kernel.org> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: David Airlie <airlied@gmail.com> Cc: Simona Vetter <simona@ffwll.ch> Cc: Rob Clark <robdclark@gmail.com> Cc: Abhinav Kumar <quic_abhinavk@quicinc.com> Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Cc: Sean Paul <sean@poorly.run> Cc: Marijn Suijten <marijn.suijten@somainline.org> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: amd-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org --- 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 ++-- 3 files changed, 5 insertions(+), 5 deletions(-)