Commit 752121c7 authored by Max Filippov's avatar Max Filippov
Browse files

xtensa: clean up default platform functions



Drop _F macro used to define default platform functions and rewrite
definitions as normal functions. Don't define separate __platform_*
function and platform_* weak alias, just define a weak function.

Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 7561dfbf
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -17,23 +17,28 @@
#include <asm/platform.h>
#include <asm/timex.h>

#define _F(r,f,a,b)							\
	r __platform_##f a b;                                   	\
	r platform_##f a __attribute__((weak, alias("__platform_"#f)))

/*
 * Default functions that are used if no platform specific function is defined.
 * (Please, refer to include/asm-xtensa/platform.h for more information)
 * (Please, refer to arch/xtensa/include/asm/platform.h for more information)
 */

_F(void, init, (bp_tag_t *first), { });
_F(void, setup, (char** cmd), { });
_F(void, idle, (void), { __asm__ __volatile__ ("waiti 0" ::: "memory"); });
void __weak __init platform_init(bp_tag_t *first)
{
}

void __weak __init platform_setup(char **cmd)
{
}

void __weak platform_idle(void)
{
	__asm__ __volatile__ ("waiti 0" ::: "memory");
}

#ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT
_F(void, calibrate_ccount, (void),
void __weak platform_calibrate_ccount(void)
{
	pr_err("ERROR: Cannot calibrate cpu frequency! Assuming 10MHz.\n");
	ccount_freq = 10 * 1000000UL;
});
}
#endif