irqchip/gic-v3-its: Track per-ITS list number
authorMarc Zyngier <marc.zyngier@arm.com>
Sun, 8 Oct 2017 17:44:42 +0000 (18:44 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Thu, 19 Oct 2017 10:22:40 +0000 (11:22 +0100)
At boot time, we enumerate all the GICv4-capable ITSs, and build
a mask of the available ITSs. Take this opportunity to store
the ITS number in the its_node structure so that we can use it
at a later time.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-v3-its.c

index 6cc57dc..994f087 100644 (file)
@@ -103,6 +103,7 @@ struct its_node {
        u64                     (*get_msi_base)(struct its_device *its_dev);
        struct list_head        its_device_list;
        u64                     flags;
+       unsigned long           list_nr;
        u32                     ite_size;
        u32                     device_ids;
        int                     numa_node;
@@ -3064,6 +3065,8 @@ static int __init its_probe_one(struct resource *res,
                        if (err < 0)
                                goto out_free_its;
 
+                       its->list_nr = err;
+
                        pr_info("ITS@%pa: Using ITS number %d\n",
                                &res->start, err);
                } else {