Merge remote-tracking branch 'powerpc/next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 4 Nov 2015 23:37:52 +0000 (10:37 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 4 Nov 2015 23:37:52 +0000 (10:37 +1100)
1  2 
arch/powerpc/sysdev/mpic.c
drivers/clk/Kconfig

@@@ -924,22 -924,6 +924,6 @@@ int mpic_set_irq_type(struct irq_data *
        return IRQ_SET_MASK_OK_NOCOPY;
  }
  
- static int mpic_irq_set_wake(struct irq_data *d, unsigned int on)
- {
-       struct irq_desc *desc = container_of(d, struct irq_desc, irq_data);
-       struct mpic *mpic = mpic_from_irq_data(d);
-       if (!(mpic->flags & MPIC_FSL))
-               return -ENXIO;
-       if (on)
-               desc->action->flags |= IRQF_NO_SUSPEND;
-       else
-               desc->action->flags &= ~IRQF_NO_SUSPEND;
-       return 0;
- }
  void mpic_set_vector(unsigned int virq, unsigned int vector)
  {
        struct mpic *mpic = mpic_from_irq(virq);
@@@ -977,7 -961,6 +961,6 @@@ static struct irq_chip mpic_irq_chip = 
        .irq_unmask     = mpic_unmask_irq,
        .irq_eoi        = mpic_end_irq,
        .irq_set_type   = mpic_set_irq_type,
-       .irq_set_wake   = mpic_irq_set_wake,
  };
  
  #ifdef CONFIG_SMP
@@@ -992,7 -975,6 +975,6 @@@ static struct irq_chip mpic_tm_chip = 
        .irq_mask       = mpic_mask_tm,
        .irq_unmask     = mpic_unmask_tm,
        .irq_eoi        = mpic_end_irq,
-       .irq_set_wake   = mpic_irq_set_wake,
  };
  
  #ifdef CONFIG_MPIC_U3_HT_IRQS
@@@ -1011,8 -993,7 +993,8 @@@ static int mpic_host_match(struct irq_d
                           enum irq_domain_bus_token bus_token)
  {
        /* Exact match, unless mpic node is NULL */
 -      return h->of_node == NULL || h->of_node == node;
 +      struct device_node *of_node = irq_domain_get_of_node(h);
 +      return of_node == NULL || of_node == node;
  }
  
  static int mpic_host_map(struct irq_domain *h, unsigned int virq,
@@@ -1284,8 -1265,11 +1266,11 @@@ struct mpic * __init mpic_alloc(struct 
                flags |= MPIC_NO_RESET;
        if (of_get_property(node, "single-cpu-affinity", NULL))
                flags |= MPIC_SINGLE_DEST_CPU;
-       if (of_device_is_compatible(node, "fsl,mpic"))
+       if (of_device_is_compatible(node, "fsl,mpic")) {
                flags |= MPIC_FSL | MPIC_LARGE_VECTORS;
+               mpic_irq_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
+               mpic_tm_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
+       }
  
        mpic = kzalloc(sizeof(struct mpic), GFP_KERNEL);
        if (mpic == NULL)
diff --combined drivers/clk/Kconfig
@@@ -59,16 -59,6 +59,16 @@@ config COMMON_CLK_RK80
          clocked at 32KHz each. Clkout1 is always on, Clkout2 can off
          by control register.
  
 +config COMMON_CLK_SCPI
 +      tristate "Clock driver controlled via SCPI interface"
 +      depends on ARM_SCPI_PROTOCOL || COMPILE_TEST
 +        ---help---
 +        This driver provides support for clocks that are controlled
 +        by firmware that implements the SCPI interface.
 +
 +        This driver uses SCPI Message Protocol to interact with the
 +        firmware providing all the clock controls.
 +
  config COMMON_CLK_SI5351
        tristate "Clock driver for SiLabs 5351A/B/C"
        depends on I2C
@@@ -131,7 -121,7 +131,7 @@@ config COMMON_CLK_AXI_CLKGE
  
  config CLK_QORIQ
        bool "Clock driver for Freescale QorIQ platforms"
-       depends on (PPC_E500MC || ARM) && OF
+       depends on (PPC_E500MC || ARM || ARM64) && OF
        ---help---
          This adds the clock driver support for Freescale QorIQ platforms
          using common clock framework.