Commit a9e8bf21cd0f5a5a8ebe63fa356a8f100b8a0955
Committed by
Benjamin Herrenschmidt
1 parent
6b9c9b8a66
Exists in
master
and in
7 other branches
powerpc: Convert ipic_lock to raw_spinlock
ipic_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Showing 1 changed file with 9 additions and 9 deletions Side-by-side Diff
arch/powerpc/sysdev/ipic.c
... | ... | @@ -32,7 +32,7 @@ |
32 | 32 | |
33 | 33 | static struct ipic * primary_ipic; |
34 | 34 | static struct irq_chip ipic_level_irq_chip, ipic_edge_irq_chip; |
35 | -static DEFINE_SPINLOCK(ipic_lock); | |
35 | +static DEFINE_RAW_SPINLOCK(ipic_lock); | |
36 | 36 | |
37 | 37 | static struct ipic_info ipic_info[] = { |
38 | 38 | [1] = { |
39 | 39 | |
... | ... | @@ -530,13 +530,13 @@ |
530 | 530 | unsigned long flags; |
531 | 531 | u32 temp; |
532 | 532 | |
533 | - spin_lock_irqsave(&ipic_lock, flags); | |
533 | + raw_spin_lock_irqsave(&ipic_lock, flags); | |
534 | 534 | |
535 | 535 | temp = ipic_read(ipic->regs, ipic_info[src].mask); |
536 | 536 | temp |= (1 << (31 - ipic_info[src].bit)); |
537 | 537 | ipic_write(ipic->regs, ipic_info[src].mask, temp); |
538 | 538 | |
539 | - spin_unlock_irqrestore(&ipic_lock, flags); | |
539 | + raw_spin_unlock_irqrestore(&ipic_lock, flags); | |
540 | 540 | } |
541 | 541 | |
542 | 542 | static void ipic_mask_irq(unsigned int virq) |
... | ... | @@ -546,7 +546,7 @@ |
546 | 546 | unsigned long flags; |
547 | 547 | u32 temp; |
548 | 548 | |
549 | - spin_lock_irqsave(&ipic_lock, flags); | |
549 | + raw_spin_lock_irqsave(&ipic_lock, flags); | |
550 | 550 | |
551 | 551 | temp = ipic_read(ipic->regs, ipic_info[src].mask); |
552 | 552 | temp &= ~(1 << (31 - ipic_info[src].bit)); |
... | ... | @@ -556,7 +556,7 @@ |
556 | 556 | * for nearly all cases. */ |
557 | 557 | mb(); |
558 | 558 | |
559 | - spin_unlock_irqrestore(&ipic_lock, flags); | |
559 | + raw_spin_unlock_irqrestore(&ipic_lock, flags); | |
560 | 560 | } |
561 | 561 | |
562 | 562 | static void ipic_ack_irq(unsigned int virq) |
... | ... | @@ -566,7 +566,7 @@ |
566 | 566 | unsigned long flags; |
567 | 567 | u32 temp; |
568 | 568 | |
569 | - spin_lock_irqsave(&ipic_lock, flags); | |
569 | + raw_spin_lock_irqsave(&ipic_lock, flags); | |
570 | 570 | |
571 | 571 | temp = 1 << (31 - ipic_info[src].bit); |
572 | 572 | ipic_write(ipic->regs, ipic_info[src].ack, temp); |
... | ... | @@ -575,7 +575,7 @@ |
575 | 575 | * for nearly all cases. */ |
576 | 576 | mb(); |
577 | 577 | |
578 | - spin_unlock_irqrestore(&ipic_lock, flags); | |
578 | + raw_spin_unlock_irqrestore(&ipic_lock, flags); | |
579 | 579 | } |
580 | 580 | |
581 | 581 | static void ipic_mask_irq_and_ack(unsigned int virq) |
... | ... | @@ -585,7 +585,7 @@ |
585 | 585 | unsigned long flags; |
586 | 586 | u32 temp; |
587 | 587 | |
588 | - spin_lock_irqsave(&ipic_lock, flags); | |
588 | + raw_spin_lock_irqsave(&ipic_lock, flags); | |
589 | 589 | |
590 | 590 | temp = ipic_read(ipic->regs, ipic_info[src].mask); |
591 | 591 | temp &= ~(1 << (31 - ipic_info[src].bit)); |
... | ... | @@ -598,7 +598,7 @@ |
598 | 598 | * for nearly all cases. */ |
599 | 599 | mb(); |
600 | 600 | |
601 | - spin_unlock_irqrestore(&ipic_lock, flags); | |
601 | + raw_spin_unlock_irqrestore(&ipic_lock, flags); | |
602 | 602 | } |
603 | 603 | |
604 | 604 | static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type) |