powerpc: Don't include lppaca.h in paca.h

[ Upstream commit 1aa000667669fa855853decbb1c69e974d8ff716 ]

By adding a forward declaration for struct lppaca we can untangle paca.h
and lppaca.h. Also move get_lppaca() into lppaca.h for consistency.

Add includes of lppaca.h to some files that need it.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230823055317.751786-3-mpe@ellerman.id.au
Stable-dep-of: eac030b22ea1 ("powerpc/pseries: Rework lppaca_shared_proc() to avoid DEBUG_PREEMPT")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Michael Ellerman
2023-08-23 15:53:16 +10:00
committed by Greg Kroah-Hartman
parent 9837d6a483
commit e46cc0e42f
7 changed files with 10 additions and 5 deletions

View File

@@ -130,6 +130,10 @@ static inline bool lppaca_shared_proc(struct lppaca *l)
return !!(l->__old_status & LPPACA_OLD_SHARED_PROC); return !!(l->__old_status & LPPACA_OLD_SHARED_PROC);
} }
#ifdef CONFIG_PPC_PSERIES
#define get_lppaca() (get_paca()->lppaca_ptr)
#endif
/* /*
* SLB shadow buffer structure as defined in the PAPR. The save_area * SLB shadow buffer structure as defined in the PAPR. The save_area
* contains adjacent ESID and VSID pairs for each shadowed SLB. The * contains adjacent ESID and VSID pairs for each shadowed SLB. The

View File

@@ -14,7 +14,6 @@
#include <linux/string.h> #include <linux/string.h>
#include <asm/types.h> #include <asm/types.h>
#include <asm/lppaca.h>
#include <asm/mmu.h> #include <asm/mmu.h>
#include <asm/page.h> #include <asm/page.h>
#ifdef CONFIG_PPC_BOOK3E #ifdef CONFIG_PPC_BOOK3E
@@ -45,14 +44,11 @@ extern unsigned int debug_smp_processor_id(void); /* from linux/smp.h */
#define get_paca() local_paca #define get_paca() local_paca
#endif #endif
#ifdef CONFIG_PPC_PSERIES
#define get_lppaca() (get_paca()->lppaca_ptr)
#endif
#define get_slb_shadow() (get_paca()->slb_shadow_ptr) #define get_slb_shadow() (get_paca()->slb_shadow_ptr)
struct task_struct; struct task_struct;
struct rtas_args; struct rtas_args;
struct lppaca;
/* /*
* Defines the layout of the paca. * Defines the layout of the paca.

View File

@@ -6,6 +6,7 @@
#include <asm/smp.h> #include <asm/smp.h>
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
#include <asm/paca.h> #include <asm/paca.h>
#include <asm/lppaca.h>
#include <asm/hvcall.h> #include <asm/hvcall.h>
#endif #endif

View File

@@ -9,6 +9,7 @@
#include <asm/hvcall.h> #include <asm/hvcall.h>
#include <asm/paca.h> #include <asm/paca.h>
#include <asm/lppaca.h>
#include <asm/page.h> #include <asm/page.h>
static inline long poll_pending(void) static inline long poll_pending(void)

View File

@@ -9,6 +9,7 @@
#include <linux/kvm.h> #include <linux/kvm.h>
#include <linux/kvm_host.h> #include <linux/kvm_host.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <asm/lppaca.h>
#include <asm/opal.h> #include <asm/opal.h>
#include <asm/mce.h> #include <asm/mce.h>
#include <asm/machdep.h> #include <asm/machdep.h>

View File

@@ -13,6 +13,7 @@
#include <asm/mmu.h> #include <asm/mmu.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/paca.h> #include <asm/paca.h>
#include <asm/lppaca.h>
#include <asm/ppc-opcode.h> #include <asm/ppc-opcode.h>
#include <asm/cputable.h> #include <asm/cputable.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>

View File

@@ -58,6 +58,7 @@
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
#include <asm/hvcall.h> #include <asm/hvcall.h>
#include <asm/paca.h> #include <asm/paca.h>
#include <asm/lppaca.h>
#endif #endif
#include "nonstdio.h" #include "nonstdio.h"