@@ -70,6 +70,7 @@ struct gic_chip_data {
#endif
struct irq_domain *domain;
unsigned int gic_irqs;
+ u32 igroup0_shadow;
#ifdef CONFIG_GIC_NON_BANKED
void __iomem *(*get_base)(union gic_base *);
#endif
@@ -363,9 +364,10 @@ static struct irq_chip gic_chip = {
* If is safe to call this function on systems which do not support
* grouping (it will have no effect).
*/
-static void gic_set_group_irq(void __iomem *base, unsigned int hwirq,
- int group)
+static void gic_set_group_irq(struct gic_chip_data *gic, unsigned int
hwirq,
+ int group)
{
+ void __iomem *base = gic_data_dist_base(gic);
unsigned int grp_reg = hwirq / 32 * 4;
u32 grp_mask = BIT(hwirq % 32);