diff options
Diffstat (limited to 'arch/powerpc/sysdev/ipic.c')
-rw-r--r-- | arch/powerpc/sysdev/ipic.c | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index 6300123ce965..8030a0f55e96 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c | |||
@@ -771,34 +771,6 @@ struct ipic * __init ipic_init(struct device_node *node, unsigned int flags) | |||
771 | return ipic; | 771 | return ipic; |
772 | } | 772 | } |
773 | 773 | ||
774 | int ipic_set_priority(unsigned int virq, unsigned int priority) | ||
775 | { | ||
776 | struct ipic *ipic = ipic_from_irq(virq); | ||
777 | unsigned int src = virq_to_hw(virq); | ||
778 | u32 temp; | ||
779 | |||
780 | if (priority > 7) | ||
781 | return -EINVAL; | ||
782 | if (src > 127) | ||
783 | return -EINVAL; | ||
784 | if (ipic_info[src].prio == 0) | ||
785 | return -EINVAL; | ||
786 | |||
787 | temp = ipic_read(ipic->regs, ipic_info[src].prio); | ||
788 | |||
789 | if (priority < 4) { | ||
790 | temp &= ~(0x7 << (20 + (3 - priority) * 3)); | ||
791 | temp |= ipic_info[src].prio_mask << (20 + (3 - priority) * 3); | ||
792 | } else { | ||
793 | temp &= ~(0x7 << (4 + (7 - priority) * 3)); | ||
794 | temp |= ipic_info[src].prio_mask << (4 + (7 - priority) * 3); | ||
795 | } | ||
796 | |||
797 | ipic_write(ipic->regs, ipic_info[src].prio, temp); | ||
798 | |||
799 | return 0; | ||
800 | } | ||
801 | |||
802 | void ipic_set_highest_priority(unsigned int virq) | 774 | void ipic_set_highest_priority(unsigned int virq) |
803 | { | 775 | { |
804 | struct ipic *ipic = ipic_from_irq(virq); | 776 | struct ipic *ipic = ipic_from_irq(virq); |