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:
parent
44549e8f5e
commit
db4c4426da
|
@ -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:
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue