• Mark Rutland's avatar
    arm64: psci: support unsigned return values · a06eed3e
    Mark Rutland authored
    PSCI_VERSION and MIGRATE_INFO_TYPE_UP_CPU return unsigned values, with
    the latter returning a 64-bit value. However, the PSCI invocation
    functions have prototypes returning int.
    
    This patch upgrades the invocation functions to return unsigned long,
    with a new typedef to keep things legible. As PSCI_VERSION cannot return
    a negative value, the erroneous check against PSCI_RET_NOT_SUPPORTED is
    also removed. The unrelated psci_initcall_t typedef is moved closer to
    its first user, to avoid confusion with the invocation functions.
    
    In preparation for sharing the code with ARM, unsigned long is used in
    preference of u64. In the SMC32 calling convention, the relevant fields
    will be 32 bits wide.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
    Tested-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
    Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    a06eed3e
psci.c 12.6 KB