ARC: [intc-compact] setup TIMER as percpu_dev

This removes the quirk from arc_request_percpu_irq() and paves way for
future simplifications

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
Vineet Gupta 2016-01-28 12:52:33 +05:30
parent 44549e8f5e
commit db4c4426da
2 changed files with 2 additions and 13 deletions

View File

@ -79,8 +79,9 @@ static struct irq_chip onchip_intc = {
static int arc_intc_domain_map(struct irq_domain *d, unsigned int irq, static int arc_intc_domain_map(struct irq_domain *d, unsigned int irq,
irq_hw_number_t hw) irq_hw_number_t hw)
{ {
switch (irq) { switch (hw) {
case TIMER0_IRQ: case TIMER0_IRQ:
irq_set_percpu_devid(irq);
irq_set_chip_and_handler(irq, &onchip_intc, handle_percpu_irq); irq_set_chip_and_handler(irq, &onchip_intc, handle_percpu_irq);
break; break;
default: default:

View File

@ -72,18 +72,6 @@ void arc_request_percpu_irq(int irq, int cpu,
if (!cpu) { if (!cpu) {
int rc; int rc;
#ifdef CONFIG_ISA_ARCOMPACT
/*
* A subsequent request_percpu_irq() fails if percpu_devid is
* not set. That in turns sets NOAUTOEN, meaning each core needs
* to call enable_percpu_irq()
*
* For ARCv2, this is done in irq map function since we know
* which irqs are strictly per cpu
*/
irq_set_percpu_devid(irq);
#endif
rc = request_percpu_irq(irq, isr, irq_nm, percpu_dev); rc = request_percpu_irq(irq, isr, irq_nm, percpu_dev);
if (rc) if (rc)
panic("Percpu IRQ request failed for %d\n", irq); panic("Percpu IRQ request failed for %d\n", irq);