<linux/percpu.h> include was removed from <linux/prandom.h>
in
d9f29deb7fe8 ("prandom: Remove unused include") because
this inclusion broke arm64 due to a circular dependency
on include files.
__percpu tag is defined in include/linux/compiler_types.h, so there
is currently no direct need for the inclusion of <linux/percpu.h>.
However, in [1] we would like to repurpose __percpu tag as a named
address space qualifier, where __percpu macro uses defines from
<linux/percpu.h>.
The circular dependency was removed in
ddd8e37ebaa1 ("random: Do not
include <linux/prandom.h> in <linux/random.h>") and it cleared
the path for the inclusion of <linux/percpu.h> in <linux/prandom.h>.
This patch is basically a revert of
d9f29deb7fe8
("prandom: Remove unused include").
[1] https://lore.kernel.org/lkml/
20240812115945[email protected]/
Signed-off-by: Uros Bizjak <[email protected]>
Cc: Theodore Ts'o <[email protected]>
Cc: Jason A. Donenfeld <[email protected]>
Cc: Kent Overstreet <[email protected]>
Signed-off-by: Jason A. Donenfeld <[email protected]>
#include <linux/types.h>
#include <linux/once.h>
+#include <linux/percpu.h>
#include <linux/random.h>
struct rnd_state {