On Thu, Mar 05, 2015 at 02:13:58PM +0100, Rafael J. Wysocki wrote:
On Thu, Mar 5, 2015 at 12:27 PM, Catalin Marinas catalin.marinas@arm.com wrote:
On Thu, Mar 05, 2015 at 04:03:21PM +0800, Hanjun Guo wrote:
On 2015/3/5 6:46, Rafael J. Wysocki wrote:
IMO, you really need to define phys_cpuid_t in a common place or people will forget that it may be 64-bit, because they'll only be looking at their arch.
Since x86 and ARM64 are using different types for phys_cpuid_t, we need to introduce something like following if define it in common place:
in linux/acpi.h,
#if defined(CONFIG_X86) || defined(CONFIG_IA64) typedef u32 phys_cpuid_t; #define PHYS_CPUID_INVALID (phys_cpuid_t)(-1) #else if defined(CONFIG_ARM64) typedef u64 phys_cpuid_t; #define PHYS_CPUID_INVALID INVALID_HWID #endif
I think it's awful, did I miss something?
Well, you can define the type and PHYS_CPUID_INVALID in the arch code and then do this in a common header:
#ifndef PHYS_CPUID_INVALID typedef u32 phys_cpuid_t; #define PHYS_CPUID_INVALID (phys_cpuid_t)(-1) #endif
That would allow you to avoid the need to duplicate the definitions where it is not necessary.
It's fine by me.