| 776 | } |
| 777 | |
| 778 | rt_err_t rt_pic_irq_set_priority(int irq, rt_uint32_t priority) |
| 779 | { |
| 780 | rt_err_t err = -RT_EINVAL; |
| 781 | struct rt_pic_irq *pirq = irq2pirq(irq); |
| 782 | |
| 783 | if (pirq) |
| 784 | { |
| 785 | rt_hw_spin_lock(&pirq->rw_lock.lock); |
| 786 | |
| 787 | if (pirq->pic->ops->irq_set_priority) |
| 788 | { |
| 789 | err = pirq->pic->ops->irq_set_priority(pirq, priority); |
| 790 | |
| 791 | if (!err) |
| 792 | { |
| 793 | pirq->priority = priority; |
| 794 | } |
| 795 | } |
| 796 | else |
| 797 | { |
| 798 | err = -RT_ENOSYS; |
| 799 | } |
| 800 | |
| 801 | rt_hw_spin_unlock(&pirq->rw_lock.lock); |
| 802 | } |
| 803 | |
| 804 | return err; |
| 805 | } |
| 806 | |
| 807 | rt_uint32_t rt_pic_irq_get_priority(int irq) |
| 808 | { |
nothing calls this directly
no test coverage detected