From: Arun Raghavan Date: Tue, 16 Oct 2012 06:30:19 +0000 (+0530) Subject: core: Separate ARM CPU detection from initialisation X-Git-Tag: v2.99.1~76 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=60660a1aecadb48f01e0e52fe0faf8e450d1e865;p=platform%2Fupstream%2Fpulseaudio.git core: Separate ARM CPU detection from initialisation This separate the ARM CPU feature detection code from the initialisation so that we can reuse it in tests, like we did for x86 a while back. --- diff --git a/src/pulsecore/cpu-arm.c b/src/pulsecore/cpu-arm.c index a724309..934c7fe 100644 --- a/src/pulsecore/cpu-arm.c +++ b/src/pulsecore/cpu-arm.c @@ -79,7 +79,7 @@ static char *get_cpuinfo(void) { } #endif /* defined (__arm__) && defined (__linux__) */ -pa_bool_t pa_cpu_init_arm(pa_cpu_arm_flag_t *flags) { +void pa_cpu_get_arm_flags(pa_cpu_arm_flag_t *flags) { #if defined (__arm__) #if defined (__linux__) char *cpuinfo, *line; @@ -89,7 +89,7 @@ pa_bool_t pa_cpu_init_arm(pa_cpu_arm_flag_t *flags) { * space support to get the CPU features. This only works on linux AFAIK. */ if (!(cpuinfo = get_cpuinfo())) { pa_log("Can't read cpuinfo"); - return FALSE; + return; } *flags = 0; @@ -131,6 +131,14 @@ pa_bool_t pa_cpu_init_arm(pa_cpu_arm_flag_t *flags) { (*flags & PA_CPU_ARM_EDSP) ? "EDSP " : "", (*flags & PA_CPU_ARM_NEON) ? "NEON " : "", (*flags & PA_CPU_ARM_VFPV3) ? "VFPV3 " : ""); +#endif +#endif +} + +pa_bool_t pa_cpu_init_arm(pa_cpu_arm_flag_t *flags) { +#if defined (__arm__) +#if defined (__linux__) + pa_cpu_get_arm_flags(flags); if (*flags & PA_CPU_ARM_V6) pa_volume_func_init_arm(*flags); diff --git a/src/pulsecore/cpu-arm.h b/src/pulsecore/cpu-arm.h index f0f49ef..91aa659 100644 --- a/src/pulsecore/cpu-arm.h +++ b/src/pulsecore/cpu-arm.h @@ -35,6 +35,7 @@ typedef enum pa_cpu_arm_flag { PA_CPU_ARM_VFPV3 = (1 << 5) } pa_cpu_arm_flag_t; +void pa_cpu_get_arm_flags(pa_cpu_arm_flag_t *flags); pa_bool_t pa_cpu_init_arm(pa_cpu_arm_flag_t *flags); /* some optimized functions */