[tip: irq/urgent] irqdomain: Delete irq_domain_add_linear()
From: tip-bot2 for Jiri Slaby (SUSE)
Date: Fri Sep 04 2026 - 04:47:00 EST
The following commit has been merged into the irq/urgent branch of tip:
Commit-ID: 797b13a7de957792c1b4773aa2cc3dab4621fd9c
Gitweb: https://git.kernel.org/tip/797b13a7de957792c1b4773aa2cc3dab4621fd9c
Author: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx>
AuthorDate: Tue, 01 Sep 2026 09:04:48 +02:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxx>
CommitterDate: Fri, 04 Sep 2026 08:40:07 +02:00
irqdomain: Delete irq_domain_add_linear()
7.3-rc1 is free of calls to irq_domain_add_linear(), so it can be finally
deleted.
According to Dongliang Mu, the related paragraph in the Chinese docs is now
obsolete. So drop it completely.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxx>
Reviewed-by: Dongliang Mu <dzm91@xxxxxxxxxxx>
Reviewed-by: Yanteng Si <si.yanteng@xxxxxxxxx>
Link: https://patch.msgid.link/20260901070450.255507-1-jirislaby@xxxxxxxxxx
---
Documentation/translations/zh_CN/core-api/irq/irq-domain.rst | 4 +--
include/linux/irqdomain.h | 18 +-------
2 files changed, 22 deletions(-)
diff --git a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst b/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst
index aaefeda..7317cf5 100644
--- a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst
+++ b/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst
@@ -90,10 +90,6 @@ irq_domain映射的类型
映射的优点是固定时间查找IRQ号,而且irq_descs只分配给在用的IRQ。 缺点是该表
必须尽可能大的hwirq号。
-irq_domain_add_linear()和irq_domain_create_linear()在功能上是等价的,
-除了第一个参数不同--前者接受一个Open Firmware特定的 'struct device_node' 而
-后者接受一个更通用的抽象 'struct fwnode_handle' 。
-
大多数驱动应该使用线性映射
树状映射
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index 73c25d4..3ba75a4 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -752,24 +752,6 @@ static inline void msi_device_domain_free_wired(struct irq_domain *domain, unsig
}
#endif
-static inline struct irq_domain *irq_domain_add_linear(struct device_node *of_node,
- unsigned int size,
- const struct irq_domain_ops *ops,
- void *host_data)
-{
- struct irq_domain_info info = {
- .fwnode = of_fwnode_handle(of_node),
- .size = size,
- .hwirq_max = size,
- .ops = ops,
- .host_data = host_data,
- };
- struct irq_domain *d;
-
- d = irq_domain_instantiate(&info);
- return IS_ERR(d) ? NULL : d;
-}
-
#else /* CONFIG_IRQ_DOMAIN */
static inline void irq_dispose_mapping(unsigned int virq) { }
static inline struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode,