[PATCH] irqdomain: Delete irq_domain_add_linear()
From: Jiri Slaby (SUSE)
Date: Tue Sep 01 2026 - 02:49:36 EST
7.3-rc1 is free of calls to irq_domain_add_linear(), so it can be
deleted at last.
I used Gemini to update zh_CN/core-api/irq/irq-domain.rst too. Hopefully
the result is correct -- I really cannot read/write Chinese ("CHINESE
DOCUMENTATION" maintainers CCed).
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx>
Assisted-by: LLM (Gemini) # zh_CN
Cc: Thomas Gleixner <tglx@xxxxxxxxxx>
Cc: Radu Rendec <radu@xxxxxxxxxx>
Cc: Alex Shi <alexs@xxxxxxxxxx>
Cc: Yanteng Si <si.yanteng@xxxxxxxxx>
Cc: Dongliang Mu <dzm91@xxxxxxxxxxx>
---
.../zh_CN/core-api/irq/irq-domain.rst | 4 +---
include/linux/irqdomain.h | 18 ------------------
2 files changed, 1 insertion(+), 21 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 aaefeda0e164..5ce16d2e6a0e 100644
--- a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst
+++ b/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst
@@ -90,9 +90,7 @@ irq_domain映射的类型
映射的优点是固定时间查找IRQ号,而且irq_descs只分配给在用的IRQ。 缺点是该表
必须尽可能大的hwirq号。
-irq_domain_add_linear()和irq_domain_create_linear()在功能上是等价的,
-除了第一个参数不同--前者接受一个Open Firmware特定的 'struct device_node' 而
-后者接受一个更通用的抽象 'struct fwnode_handle' 。
+irq_domain_create_linear() 接受一个通用的抽象 struct fwnode_handle 作为第一个参数。
大多数驱动应该使用线性映射
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index 73c25d40846c..3ba75a4ed3da 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,
--
2.55.0