• Marc Zyngier's avatar
    ARM: SoC: add per-platform SMP operations · abcee5fb
    Marc Zyngier authored
    This adds a 'struct smp_operations' to abstract the CPU initialization
    and hot plugging functions on SMP systems, which otherwise conflict
    in a multiplatform kernel. This also helps shmobile and potentially
    others that have more than one method to do these.
    
    To allow the kernel to continue building, the platform hooks are
    defined as weak symbols which are overrided by the platform code.
    Once all platforms are converted, the "weak" attribute will be
    removed and the function made static.
    
    Unlike the original version from Marc, this new version from Arnd
    does not use a generalized abstraction for per-soc data structures
    but only tries to solve the problem for the SMP operations. This
    way, we can collapse the previous four data structures into a
    single struct, which is less systematic but also easier to follow
    as a causal reader.
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Acked-by: default avatarNicolas Pitre <nico@fluxnic.net>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    abcee5fb
smp.c 13.9 KB