Index: cpukit/score/Makefile.am
===================================================================
--- cpukit/score/Makefile.am	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/Makefile.am	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -240,5 +240,4 @@
     src/schedulerpriorityblock.c \
     src/schedulerprioritychangepriority.c \
-    src/schedulerpriorityprioritycompare.c \
     src/schedulerpriorityschedule.c \
     src/schedulerpriorityunblock.c \
@@ -259,5 +258,4 @@
     src/scheduleredfblock.c \
     src/scheduleredfchangepriority.c \
-    src/scheduleredfprioritycompare.c \
     src/scheduleredfreleasejob.c \
     src/scheduleredfschedule.c \
Index: cpukit/score/include/rtems/score/scheduler.h
===================================================================
--- cpukit/score/include/rtems/score/scheduler.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/scheduler.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -127,10 +127,4 @@
     const Scheduler_Control *,
     Thread_Control *,
-    Priority_Control
-  );
-
-  /** @see _Scheduler_Priority_compare() */
-  int ( *priority_compare )(
-    Priority_Control,
     Priority_Control
   );
Index: cpukit/score/include/rtems/score/schedulercbs.h
===================================================================
--- cpukit/score/include/rtems/score/schedulercbs.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulercbs.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -60,5 +60,4 @@
     _Scheduler_default_Node_destroy, /* node destroy entry point */ \
     _Scheduler_EDF_Update_priority,  /* update priority entry point */ \
-    _Scheduler_EDF_Priority_compare, /* compares two priorities */ \
     _Scheduler_CBS_Release_job,      /* new period of task */ \
     _Scheduler_default_Tick,         /* tick entry point */ \
Index: cpukit/score/include/rtems/score/scheduleredf.h
===================================================================
--- cpukit/score/include/rtems/score/scheduleredf.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/scheduleredf.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -53,5 +53,4 @@
     _Scheduler_default_Node_destroy, /* node destroy entry point */ \
     _Scheduler_EDF_Update_priority,  /* update priority entry point */ \
-    _Scheduler_EDF_Priority_compare, /* compares two priorities */ \
     _Scheduler_EDF_Release_job,      /* new period of task */ \
     _Scheduler_default_Tick,         /* tick entry point */ \
@@ -227,17 +226,4 @@
 
 /**
- *  @brief Explicitly compare absolute dedlines (priorities) of threads.
- *
- * This routine explicitly compares absolute dedlines (priorities) of threads.
- * In case of EDF scheduling time overflow is taken into account.
- *
- * @retval >0 for p1 > p2; 0 for p1 == p2; <0 for p1 < p2.
- */
-int _Scheduler_EDF_Priority_compare (
-  Priority_Control p1,
-  Priority_Control p2
-);
-
-/**
  *  @brief Called when a new job of task is released.
  *
Index: cpukit/score/include/rtems/score/scheduleredfimpl.h
===================================================================
--- cpukit/score/include/rtems/score/scheduleredfimpl.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/scheduleredfimpl.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -44,4 +44,9 @@
   return (Scheduler_EDF_Node *) _Scheduler_Thread_get_node( the_thread );
 }
+
+int _Scheduler_EDF_Priority_compare (
+  Priority_Control p1,
+  Priority_Control p2
+);
 
 RBTree_Compare_result _Scheduler_EDF_Compare(
Index: cpukit/score/include/rtems/score/schedulerimpl.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerimpl.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulerimpl.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -480,29 +480,4 @@
 
   _Scheduler_Release_critical( scheduler, &lock_context );
-}
-
-/**
- * @brief Compares two priority values.
- *
- * @param[in] scheduler The scheduler instance.
- * @param[in] p1 The first priority value.
- * @param[in] p2 The second priority value.
- *
- * @retval negative The value @a p1 encodes a lower priority than @a p2 in the
- * intuitive sense of priority.
- * @retval 0 The priorities @a p1 and @a p2 are equal.
- * @retval positive The value @a p1 encodes a higher priority than @a p2 in the
- * intuitive sense of priority.
- *
- * @see _Scheduler_Is_priority_lower_than() and
- * _Scheduler_Is_priority_higher_than().
- */
-RTEMS_INLINE_ROUTINE int _Scheduler_Priority_compare(
-  const Scheduler_Control *scheduler,
-  Priority_Control         p1,
-  Priority_Control         p2
-)
-{
-  return ( *scheduler->Operations.priority_compare )( p1, p2 );
 }
 
@@ -745,30 +720,4 @@
     ( *schedule )( scheduler, the_thread, true );
   }
-}
-
-/**
- * @brief Returns true if @a p1 encodes a lower priority than @a p2 in the
- * intuitive sense of priority.
- */
-RTEMS_INLINE_ROUTINE bool _Scheduler_Is_priority_lower_than(
-  const Scheduler_Control *scheduler,
-  Priority_Control         p1,
-  Priority_Control         p2
-)
-{
-  return _Scheduler_Priority_compare( scheduler, p1,  p2 ) < 0;
-}
-
-/**
- * @brief Returns true if @a p1 encodes a higher priority than @a p2 in the
- * intuitive sense of priority.
- */
-RTEMS_INLINE_ROUTINE bool _Scheduler_Is_priority_higher_than(
-  const Scheduler_Control *scheduler,
-  Priority_Control         p1,
-  Priority_Control         p2
-)
-{
-  return _Scheduler_Priority_compare( scheduler, p1,  p2 ) > 0;
 }
 
Index: cpukit/score/include/rtems/score/schedulerpriority.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerpriority.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulerpriority.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -50,5 +50,4 @@
     _Scheduler_default_Node_destroy,      /* node destroy entry point */ \
     _Scheduler_priority_Update_priority,  /* update priority entry point */ \
-    _Scheduler_priority_Priority_compare, /* compares two priorities */ \
     _Scheduler_default_Release_job,       /* new period of task */ \
     _Scheduler_default_Tick,              /* tick entry point */ \
@@ -190,16 +189,4 @@
 );
 
-/**
- *  @brief Compare two priorities.
- *
- *  This routine compares two priorities.
- *
- * @retval >0 for p1 > p2; 0 for p1 == p2; <0 for p1 < p2.
- */
-int _Scheduler_priority_Priority_compare(
-  Priority_Control   p1,
-  Priority_Control   p2
-);
-
 /**@}*/
 
Index: cpukit/score/include/rtems/score/schedulerpriorityaffinitysmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerpriorityaffinitysmp.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulerpriorityaffinitysmp.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -60,5 +60,4 @@
     _Scheduler_default_Node_destroy, \
     _Scheduler_priority_SMP_Update_priority, \
-    _Scheduler_priority_Priority_compare, \
     _Scheduler_default_Release_job, \
     _Scheduler_default_Tick, \
Index: cpukit/score/include/rtems/score/schedulerpriorityimpl.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerpriorityimpl.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulerpriorityimpl.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -220,21 +220,4 @@
 }
 
-/**
- * @brief Priority comparison.
- *
- * This routine implements priority comparison for priority-based
- * scheduling.
- *
- * @return >0 for higher priority, 0 for equal and <0 for lower priority.
- */
-RTEMS_INLINE_ROUTINE int _Scheduler_priority_Priority_compare_body(
-  Priority_Control      p1,
-  Priority_Control      p2
-)
-{
-  /* High priority in priority scheduler is represented by low numbers. */
-  return ( p2 - p1 );
-}
-
 /** @} */
 
Index: cpukit/score/include/rtems/score/schedulerprioritysmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerprioritysmp.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulerprioritysmp.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -89,5 +89,4 @@
     _Scheduler_default_Node_destroy, \
     _Scheduler_priority_SMP_Update_priority, \
-    _Scheduler_priority_Priority_compare, \
     _Scheduler_default_Release_job, \
     _Scheduler_default_Tick, \
Index: cpukit/score/include/rtems/score/schedulersimple.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersimple.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulersimple.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -50,5 +50,4 @@
     _Scheduler_default_Node_destroy,      /* node destroy entry point */ \
     _Scheduler_default_Update_priority,   /* update priority entry point */ \
-    _Scheduler_priority_Priority_compare, /* compares two priorities */ \
     _Scheduler_default_Release_job,       /* new period of task */ \
     _Scheduler_default_Tick,              /* tick entry point */ \
Index: cpukit/score/include/rtems/score/schedulersimplesmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersimplesmp.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulersimplesmp.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -72,5 +72,4 @@
     _Scheduler_default_Node_destroy, \
     _Scheduler_simple_SMP_Update_priority, \
-    _Scheduler_priority_Priority_compare, \
     _Scheduler_default_Release_job, \
     _Scheduler_default_Tick, \
Index: cpukit/score/include/rtems/score/schedulerstrongapa.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerstrongapa.h	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/include/rtems/score/schedulerstrongapa.h	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -89,5 +89,4 @@
     _Scheduler_default_Node_destroy, \
     _Scheduler_strong_APA_Update_priority, \
-    _Scheduler_priority_Priority_compare, \
     _Scheduler_default_Release_job, \
     _Scheduler_default_Tick, \
Index: cpukit/score/src/schedulercbsunblock.c
===================================================================
--- cpukit/score/src/schedulercbsunblock.c	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/src/schedulercbsunblock.c	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -80,9 +80,8 @@
    */
   if (
-    _Scheduler_Is_priority_higher_than(
-       scheduler,
-       the_thread->current_priority,
-       _Thread_Heir->current_priority
-    )
+    _Scheduler_EDF_Priority_compare(
+      the_thread->current_priority,
+      _Thread_Heir->current_priority
+    ) == 1 
   ) {
     _Scheduler_Update_heir(
Index: cpukit/score/src/scheduleredf.c
===================================================================
--- cpukit/score/src/scheduleredf.c	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/src/scheduleredf.c	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -20,4 +20,26 @@
 
 #include <rtems/score/scheduleredfimpl.h>
+
+int _Scheduler_EDF_Priority_compare (
+  Priority_Control p1,
+  Priority_Control p2
+)
+{
+  Watchdog_Interval time = _Watchdog_Ticks_since_boot;
+
+  /*
+   * Reorder priorities to separate deadline driven and background tasks.
+   *
+   * The background tasks have p1 or p2 > SCHEDULER_EDF_PRIO_MSB.
+   * The deadline driven tasks need to have subtracted current time in order
+   * to see which deadline is closer wrt. current time.
+   */
+  if (!(p1 & SCHEDULER_EDF_PRIO_MSB))
+    p1 = (p1 - time) & ~SCHEDULER_EDF_PRIO_MSB;
+  if (!(p2 & SCHEDULER_EDF_PRIO_MSB))
+    p2 = (p2 - time) & ~SCHEDULER_EDF_PRIO_MSB;
+
+  return ((p1<p2) - (p1>p2));
+}
 
 RBTree_Compare_result _Scheduler_EDF_Compare(
Index: ukit/score/src/scheduleredfprioritycompare.c
===================================================================
--- cpukit/score/src/scheduleredfprioritycompare.c	(revision c82835a231351377866ceb82826010ba0485255d)
+++ 	(revision )
@@ -1,47 +1,0 @@
-/**
- * @file
- *
- * @brief Compares Priorities of Threads
- *
- * @ingroup ScoreScheduler
- */
-
-/*
- *  Copyright (C) 2011 Petr Benes.
- *  Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <rtems/system.h>
-#include <rtems/config.h>
-#include <rtems/score/scheduleredf.h>
-#include <rtems/score/watchdogimpl.h>
-
-int _Scheduler_EDF_Priority_compare (
-  Priority_Control p1,
-  Priority_Control p2
-)
-{
-  Watchdog_Interval time = _Watchdog_Ticks_since_boot;
-
-  /*
-   * Reorder priorities to separate deadline driven and background tasks.
-   *
-   * The background tasks have p1 or p2 > SCHEDULER_EDF_PRIO_MSB.
-   * The deadline driven tasks need to have subtracted current time in order
-   * to see which deadline is closer wrt. current time.
-   */
-  if (!(p1 & SCHEDULER_EDF_PRIO_MSB))
-    p1 = (p1 - time) & ~SCHEDULER_EDF_PRIO_MSB;
-  if (!(p2 & SCHEDULER_EDF_PRIO_MSB))
-    p2 = (p2 - time) & ~SCHEDULER_EDF_PRIO_MSB;
-
-  return ((p1<p2) - (p1>p2));
-}
Index: cpukit/score/src/scheduleredfunblock.c
===================================================================
--- cpukit/score/src/scheduleredfunblock.c	(revision c82835a231351377866ceb82826010ba0485255d)
+++ cpukit/score/src/scheduleredfunblock.c	(revision b8f76fa28e1e7258fbf9b15894fbf1be5b1fbe15)
@@ -43,8 +43,10 @@
    *    a pseudo-ISR system task, we need to do a context switch.
    */
-  if ( _Scheduler_Is_priority_lower_than(
-         scheduler,
-         _Thread_Heir->current_priority,
-         the_thread->current_priority )) {
+  if (
+    _Scheduler_EDF_Priority_compare(
+      the_thread->current_priority,
+      _Thread_Heir->current_priority
+    ) == 1 
+  ) {
     _Scheduler_Update_heir(
       the_thread,
Index: ukit/score/src/schedulerpriorityprioritycompare.c
===================================================================
--- cpukit/score/src/schedulerpriorityprioritycompare.c	(revision c82835a231351377866ceb82826010ba0485255d)
+++ 	(revision )
@@ -1,29 +1,0 @@
-/**
- *  @file
- *
- *  @brief Scheduler Priority Compare Two Priorities
- *  @ingroup ScoreScheduler
- */
-
-/*
- *  COPYRIGHT (c) 2011.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <rtems/score/schedulerpriorityimpl.h>
-
-int _Scheduler_priority_Priority_compare(
-  Priority_Control   p1,
-  Priority_Control   p2
-)
-{
-  return _Scheduler_priority_Priority_compare_body( p1, p2 );
-}
