]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
i2c: Switch to irq_domain_create_linear()
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Wed, 19 Mar 2025 09:29:12 +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-20-jirislaby@kernel.org
drivers/i2c/busses/i2c-cht-wc.c
drivers/i2c/muxes/i2c-mux-pca954x.c

index 26a36a65521e732f58c4b78030aba4bfc1f98350..606ac071cb8039f36e668e74228a4a51e7245414 100644 (file)
@@ -467,7 +467,7 @@ static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev)
                return ret;
 
        /* Alloc and register client IRQ */
-       adap->irq_domain = irq_domain_add_linear(NULL, 1, &irq_domain_simple_ops, NULL);
+       adap->irq_domain = irq_domain_create_linear(NULL, 1, &irq_domain_simple_ops, NULL);
        if (!adap->irq_domain)
                return -ENOMEM;
 
index db95113a5b49ef136e3e15d181955b345945e469..5bb26af0f53243d6029155b8d072d4b4901d0d90 100644 (file)
@@ -442,9 +442,9 @@ static int pca954x_irq_setup(struct i2c_mux_core *muxc)
 
        raw_spin_lock_init(&data->lock);
 
-       data->irq = irq_domain_add_linear(client->dev.of_node,
-                                         data->chip->nchans,
-                                         &irq_domain_simple_ops, data);
+       data->irq = irq_domain_create_linear(of_fwnode_handle(client->dev.of_node),
+                                            data->chip->nchans,
+                                            &irq_domain_simple_ops, data);
        if (!data->irq)
                return -ENODEV;