Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _POWERNV_H
0003 #define _POWERNV_H
0004 
0005 /*
0006  * There's various hacks scattered throughout the generic powerpc arch code
0007  * that needs to call into powernv platform stuff. The prototypes for those
0008  * functions are in asm/powernv.h
0009  */
0010 #include <asm/powernv.h>
0011 
0012 #ifdef CONFIG_SMP
0013 extern void pnv_smp_init(void);
0014 #else
0015 static inline void pnv_smp_init(void) { }
0016 #endif
0017 
0018 extern void pnv_platform_error_reboot(struct pt_regs *regs, const char *msg) __noreturn;
0019 
0020 struct pci_dev;
0021 
0022 #ifdef CONFIG_PCI
0023 extern void pnv_pci_init(void);
0024 extern void pnv_pci_shutdown(void);
0025 #else
0026 static inline void pnv_pci_init(void) { }
0027 static inline void pnv_pci_shutdown(void) { }
0028 #endif
0029 
0030 extern u32 pnv_get_supported_cpuidle_states(void);
0031 
0032 extern void pnv_lpc_init(void);
0033 
0034 extern void opal_handle_events(void);
0035 extern bool opal_have_pending_events(void);
0036 extern void opal_event_shutdown(void);
0037 
0038 bool cpu_core_split_required(void);
0039 
0040 struct memcons;
0041 ssize_t memcons_copy(struct memcons *mc, char *to, loff_t pos, size_t count);
0042 u32 __init memcons_get_size(struct memcons *mc);
0043 struct memcons *__init memcons_init(struct device_node *node, const char *mc_prop_name);
0044 
0045 void pnv_rng_init(void);
0046 
0047 #endif /* _POWERNV_H */