Commit 892dddb6 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk

into home.osdl.org:/home/torvalds/v2.5/linux
parents 3e5b8391 ee62ae81
...@@ -72,8 +72,10 @@ unsigned long (*gettimeoffset)(void) = dummy_gettimeoffset; ...@@ -72,8 +72,10 @@ unsigned long (*gettimeoffset)(void) = dummy_gettimeoffset;
/* /*
* Scheduler clock - returns current time in nanosec units. * Scheduler clock - returns current time in nanosec units.
* This is the default implementation. Sub-architecture
* implementations can override this.
*/ */
unsigned long long sched_clock(void) unsigned long long __attribute__((weak)) sched_clock(void)
{ {
return (unsigned long long)jiffies * (1000000000 / HZ); return (unsigned long long)jiffies * (1000000000 / HZ);
} }
......
...@@ -171,7 +171,7 @@ struct tagtable { ...@@ -171,7 +171,7 @@ struct tagtable {
int (*parse)(const struct tag *); int (*parse)(const struct tag *);
}; };
#define __tag __attribute__((unused, __section__(".taglist"))) #define __tag __attribute_used__ __attribute__((__section__(".taglist")))
#define __tagtable(tag, fn) \ #define __tagtable(tag, fn) \
static struct tagtable __tagtable_##fn __tag = { tag, fn } static struct tagtable __tagtable_##fn __tag = { tag, fn }
...@@ -210,9 +210,8 @@ struct early_params { ...@@ -210,9 +210,8 @@ struct early_params {
void (*fn)(char **p); void (*fn)(char **p);
}; };
#define __early_param(name,fn) \ #define __early_param(name,fn) \
static struct early_params __early_##fn \ static struct early_params __early_##fn __attribute_used__ \
__attribute__((section("__early_param"), unused)) = \ __attribute__((__section__("__early_param"))) = { name, fn }
{ name, fn }
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment