mirror of https://gitee.com/openkylin/linux.git
x86: ds.c fix invalid assignment
Fixes the type mixups that cause the following sparse warnings: CHECK arch/x86/kernel/ds.c arch/x86/kernel/ds.c:549:19: warning: incorrect type in argument 2 (invalid types) arch/x86/kernel/ds.c:549:19: expected bad type enum bts_field field arch/x86/kernel/ds.c:549:19: got int arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:520:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:520:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:520:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Cc: Markus Metzger <markus.t.metzger@intel.com> LKML-Reference: <1245494740.8613.12.camel@localhost.localdomain> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
fb20871a54
commit
feaa0457ec
|
@ -509,15 +509,15 @@ enum bts_field {
|
||||||
bts_escape = ((unsigned long)-1 & ~bts_qual_mask)
|
bts_escape = ((unsigned long)-1 & ~bts_qual_mask)
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline unsigned long bts_get(const char *base, enum bts_field field)
|
static inline unsigned long bts_get(const char *base, unsigned long field)
|
||||||
{
|
{
|
||||||
base += (ds_cfg.sizeof_ptr_field * field);
|
base += (ds_cfg.sizeof_ptr_field * field);
|
||||||
return *(unsigned long *)base;
|
return *(unsigned long *)base;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void bts_set(char *base, enum bts_field field, unsigned long val)
|
static inline void bts_set(char *base, unsigned long field, unsigned long val)
|
||||||
{
|
{
|
||||||
base += (ds_cfg.sizeof_ptr_field * field);;
|
base += (ds_cfg.sizeof_ptr_field * field);
|
||||||
(*(unsigned long *)base) = val;
|
(*(unsigned long *)base) = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue