mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq updates from Thomas Gleixner:
"This updated pull request does not contain the last few GIC related
patches which were reported to cause a regression. There is a fix
available, but I let it breed for a couple of days first.
The irq departement provides:
- new infrastructure to support non PCI based MSI interrupts
- a couple of new irq chip drivers
- the usual pile of fixlets and updates to irq chip drivers
- preparatory changes for removal of the irq argument from interrupt
flow handlers
- preparatory changes to remove IRQF_VALID"
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)
irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources
irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2
irqchip: Add documentation for the bcm2836 interrupt controller
irqchip/bcm2835: Add support for being used as a second level controller
irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ
PCI: xilinx: Fix typo in function name
irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance
irqchip/gic: Only allow the primary GIC to set the CPU map
PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove
unicore32/irq: Prepare puv3_gpio_handler for irq argument removal
tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal
m68k/irq: Prepare irq handlers for irq argument removal
C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal
blackfin: Prepare irq handlers for irq argument removal
arc/irq: Prepare idu_cascade_isr for irq argument removal
sparc/irq: Use access helper irq_data_get_affinity_mask()
sparc/irq: Use helper irq_data_get_irq_handler_data()
parisc/irq: Use access helper irq_data_get_affinity_mask()
mn10300/irq: Use access helper irq_data_get_affinity_mask()
irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal
...
This commit is contained in:
commit
17e6b00ac4
161 changed files with 2211 additions and 852 deletions
|
|
@ -182,9 +182,11 @@ static struct irq_chip bf537_mac_rx_irqchip = {
|
|||
.irq_unmask = bf537_mac_rx_unmask_irq,
|
||||
};
|
||||
|
||||
static void bf537_demux_mac_rx_irq(unsigned int int_irq,
|
||||
static void bf537_demux_mac_rx_irq(unsigned int __int_irq,
|
||||
struct irq_desc *desc)
|
||||
{
|
||||
unsigned int int_irq = irq_desc_get_irq(desc);
|
||||
|
||||
if (bfin_read_DMA1_IRQ_STATUS() & (DMA_DONE | DMA_ERR))
|
||||
bfin_handle_irq(IRQ_MAC_RX);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -194,7 +194,8 @@ void bfin_internal_unmask_irq(unsigned int irq)
|
|||
#ifdef CONFIG_SMP
|
||||
static void bfin_internal_unmask_irq_chip(struct irq_data *d)
|
||||
{
|
||||
bfin_internal_unmask_irq_affinity(d->irq, d->affinity);
|
||||
bfin_internal_unmask_irq_affinity(d->irq,
|
||||
irq_data_get_affinity_mask(d));
|
||||
}
|
||||
|
||||
static int bfin_internal_set_affinity(struct irq_data *d,
|
||||
|
|
@ -685,12 +686,12 @@ void bfin_demux_mac_status_irq(unsigned int int_err_irq,
|
|||
}
|
||||
#endif
|
||||
|
||||
static inline void bfin_set_irq_handler(unsigned irq, irq_flow_handler_t handle)
|
||||
static inline void bfin_set_irq_handler(struct irq_data *d, irq_flow_handler_t handle)
|
||||
{
|
||||
#ifdef CONFIG_IPIPE
|
||||
handle = handle_level_irq;
|
||||
#endif
|
||||
__irq_set_handler_locked(irq, handle);
|
||||
irq_set_handler_locked(d, handle);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_GPIO_ADI
|
||||
|
|
@ -802,9 +803,9 @@ static int bfin_gpio_irq_type(struct irq_data *d, unsigned int type)
|
|||
}
|
||||
|
||||
if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING))
|
||||
bfin_set_irq_handler(irq, handle_edge_irq);
|
||||
bfin_set_irq_handler(d, handle_edge_irq);
|
||||
else
|
||||
bfin_set_irq_handler(irq, handle_level_irq);
|
||||
bfin_set_irq_handler(d, handle_level_irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -824,9 +825,9 @@ static void bfin_demux_gpio_block(unsigned int irq)
|
|||
}
|
||||
}
|
||||
|
||||
void bfin_demux_gpio_irq(unsigned int inta_irq,
|
||||
struct irq_desc *desc)
|
||||
void bfin_demux_gpio_irq(unsigned int __inta_irq, struct irq_desc *desc)
|
||||
{
|
||||
unsigned int inta_irq = irq_desc_get_irq(desc);
|
||||
unsigned int irq;
|
||||
|
||||
switch (inta_irq) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue