]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpu: Switch to irq_domain_create_linear()
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Wed, 19 Mar 2025 09:29:11 +0000 (10:29 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 16 May 2025 19:06:09 +0000 (21:06 +0200)
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).

[ tglx: Fix up subject prefix ]

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250319092951.37667-19-jirislaby@kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
drivers/gpu/drm/msm/msm_mdss.c
drivers/gpu/ipu-v3/ipu-common.c

index 19ce4da285e8d9502c7c880297a0f6bade3d9884..38e7043016e10c13db3506af0c0cf4bd33df64dc 100644 (file)
@@ -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;
index dcb49fd30402b80edd2cb5971f95a78eaad6081f..9d006ee88a8af5b302be763668a178326c5f3f9f 100644 (file)
@@ -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");
index fa77e4e64f121d793a56e3beb146729694456ab7..223e6d563a6b69d79734ddf10ee90322cb644b7c 100644 (file)
@@ -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;