From: Stephen Rothwell Date: Wed, 4 Nov 2015 23:37:52 +0000 (+1100) Subject: Merge remote-tracking branch 'powerpc/next' X-Git-Tag: KARO-TXUL-2015-12-04~130 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-linux.git;a=commitdiff_plain;h=1b3f6228d202d0131a51cb7a7963f6d7635187ad;hp=-c Merge remote-tracking branch 'powerpc/next' --- 1b3f6228d202d0131a51cb7a7963f6d7635187ad diff --combined arch/powerpc/sysdev/mpic.c index cecd1156c185,123e43612f0a..2a0452e364ba --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@@ -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 index 4aec54b90331,9f1970c19690..67826167a0e0 --- a/drivers/clk/Kconfig +++ b/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.