.../zh_CN/core-api/irq/irq-domain.rst | 4 +--- include/linux/irqdomain.h | 18 ------------------ 2 files changed, 1 insertion(+), 21 deletions(-)
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@kernel.org>
Assisted-by: LLM (Gemini) # zh_CN
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Radu Rendec <radu@rendec.net>
Cc: Alex Shi <alexs@kernel.org>
Cc: Yanteng Si <si.yanteng@linux.dev>
Cc: Dongliang Mu <dzm91@hust.edu.cn>
---
.../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
On Tue, Sep 01 2026 at 08:47, Jiri Slaby wrote:
> 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).
It's trivial enough to translate the whole paragraph with Gemini or
google translate:
"irq_domain_add_linear() and irq_domain_create_linear() are
functionally equivalent, except for the first parameter: the former
accepts an Open Firmware-specific 'struct device_node', while the
latter accepts a more generic abstract 'struct fwnode_handle'."
which makes it obvious that it can be deleted completely, no?
Thanks,
tglx
On 04. 09. 26, 8:34, Thomas Gleixner wrote:
> On Tue, Sep 01 2026 at 08:47, Jiri Slaby wrote:
>> 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).
>
> It's trivial enough to translate the whole paragraph with Gemini or
> google translate:
>
> "irq_domain_add_linear() and irq_domain_create_linear() are
> functionally equivalent, except for the first parameter: the former
> accepts an Open Firmware-specific 'struct device_node', while the
> latter accepts a more generic abstract 'struct fwnode_handle'."
>
> which makes it obvious that it can be deleted completely, no?
Yes, that happened in v2.
--
js
suse labs
On 9/1/26 2:47 PM, Jiri Slaby (SUSE) wrote:
> 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@kernel.org>
> Assisted-by: LLM (Gemini) # zh_CN
> Cc: Thomas Gleixner <tglx@kernel.org>
> Cc: Radu Rendec <radu@rendec.net>
> Cc: Alex Shi <alexs@kernel.org>
> Cc: Yanteng Si <si.yanteng@linux.dev>
> Cc: Dongliang Mu <dzm91@hust.edu.cn>
> ---
> .../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 作为第一个参数。
From the context, I think we can directly delete the whole paragraph.
Dongliang Mu
>
> 大多数驱动应该使用线性映射
>
> 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,
© 2016 - 2026 Red Hat, Inc.