@@ -139,6 +139,13 @@ void odp_cpumask_copy(odp_cpumask_t *dest, const odp_cpumask_t *src);
int odp_cpumask_first(const odp_cpumask_t *mask);
/**
+ * Find last bit set in mask
+ *
+ * @return cpu else -1 if no bits set in cpumask
+ */
+int odp_cpumask_last(const odp_cpumask_t *mask);
+
+/**
* @}
*/
@@ -60,20 +60,10 @@ void odp_cpumask_from_str(odp_cpumask_t *mask, const char *str_in)
memcpy(&mask->set, &cpuset, sizeof(cpuset));
}
-static int _odp_cpumask_last(const odp_cpumask_t *mask)
-{
- int cpu;
-
- for (cpu = CPU_SETSIZE - 1; cpu >= 0; cpu--)
- if (odp_cpumask_isset(mask, cpu))
- return cpu;
- return -1;
-}
-
void odp_cpumask_to_str(const odp_cpumask_t *mask, char *str, int len)
{
char *p = str;
- int cpu = _odp_cpumask_last(mask);
+ int cpu = odp_cpumask_last(mask);
int nibbles;
int value;
@@ -185,3 +175,13 @@ int odp_cpumask_first(const odp_cpumask_t *mask)
return cpu;
return -1;
}
+
+int odp_cpumask_last(const odp_cpumask_t *mask)
+{
+ int cpu;
+
+ for (cpu = CPU_SETSIZE - 1; cpu >= 0; cpu--)
+ if (odp_cpumask_isset(mask, cpu))
+ return cpu;
+ return -1;
+}