• Yury Norov's avatar
    powerpc: drop dependency on <asm/machdep.h> in archrandom.h · 3e731203
    Yury Norov authored
    archrandom.h includes <asm/machdep.h> to refer ppc_md. This causes
    circular header dependency, if generic nodemask.h  includes random.h:
    
    In file included from include/linux/cred.h:16,
                     from include/linux/seq_file.h:13,
                     from arch/powerpc/include/asm/machdep.h:6,
                     from arch/powerpc/include/asm/archrandom.h:5,
                     from include/linux/random.h:109,
                     from include/linux/nodemask.h:97,
                     from include/linux/list_lru.h:12,
                     from include/linux/fs.h:13,
                     from include/linux/compat.h:17,
                     from arch/powerpc/kernel/asm-offsets.c:12:
    include/linux/sched.h:1203:9: error: unknown type name 'nodemask_t'
     1203 |         nodemask_t                      mems_allowed;
          |         ^~~~~~~~~~
    
    Fix it by removing <asm/machdep.h> dependency from archrandom.h
    
    Now as arch_get_random_seed_long() moved to c-file, and not exported,
    it's not available for modules. As Michael Ellerman says:
    
      I think we actually don't need it exported to modules, I think it's
      a private detail of the RNG <-> architecture interface, not something
      that modules should be calling.
    
    CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    CC: Michael Ellerman <mpe@ellerman.id.au>
    CC: Paul Mackerras <paulus@samba.org>
    CC: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    CC: Stephen Rothwell <sfr@canb.auug.org.au>
    CC: linuxppc-dev@lists.ozlabs.org
    Suggested-by: Michael Ellerman <mpe@ellerman.id.au> (for non-exporting)
    Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
    3e731203
setup-common.c 24.1 KB