Commit a9e8bf21cd0f5a5a8ebe63fa356a8f100b8a0955

Authored by Thomas Gleixner
Committed by Benjamin Herrenschmidt
1 parent 6b9c9b8a66

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)