Re: [PATCH v2 01/57] irqdomain: um: use irq_domain_create_linear() helper

Jiri Slaby
2025-04-07T07:08:05Z

@UM maintainers: if you have not read 00/57 [1], please route this
through your tree.

[1] https://lore.kernel.org/all/20250319092951.37667-1-jirislaby@kernel.org/

Thanks.

On 19. 03. 25, 10:28, Jiri Slaby (SUSE) wrote:
> um_pci_init() open-codes what the irq_domain_create_linear() helper
> does already. Use the helper instead of open-coding it.
>
> This needs retval checking modification.
>
> Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
> Cc: Johannes Berg <johannes@sipsolutions.net>
> Cc: linux-um@lists.infradead.org
>
> [v2]
> This is new in v2.
> ---
> arch/um/drivers/virt-pci.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> index dd5580f975cc..efe8b474c07b 100644
> --- a/arch/um/drivers/virt-pci.c
> +++ b/arch/um/drivers/virt-pci.c
> @@ -1000,11 +1000,6 @@ static struct resource virt_platform_resource = {
>
> static int __init um_pci_init(void)
> {
> - struct irq_domain_info inner_domain_info = {
> - .size = MAX_MSI_VECTORS,
> - .hwirq_max = MAX_MSI_VECTORS,
> - .ops = &um_pci_inner_domain_ops,
> - };
> int err, i;
>
> WARN_ON(logic_iomem_add_region(&virt_cfgspace_resource,
> @@ -1030,10 +1025,10 @@ static int __init um_pci_init(void)
> goto free;
> }
>
> - inner_domain_info.fwnode = um_pci_fwnode;
> - um_pci_inner_domain = irq_domain_instantiate(&inner_domain_info);
> - if (IS_ERR(um_pci_inner_domain)) {
> - err = PTR_ERR(um_pci_inner_domain);
> + um_pci_inner_domain = irq_domain_create_linear(um_pci_fwnode, MAX_MSI_VECTORS,
> + &um_pci_inner_domain_ops, NULL);
> + if (!um_pci_inner_domain) {
> + err = -ENOMEM;
> goto free;
> }
>
> @@ -1070,7 +1065,7 @@ static int __init um_pci_init(void)
> goto free;
> return 0;
> free:
> - if (!IS_ERR_OR_NULL(um_pci_inner_domain))
> + if (um_pci_inner_domain)
> irq_domain_remove(um_pci_inner_domain);
> if (um_pci_fwnode)
> irq_domain_free_fwnode(um_pci_fwnode);

--
js
suse labs