1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 255190f88SBenjamin Herrenschmidt #ifndef _POWERNV_H 355190f88SBenjamin Herrenschmidt #define _POWERNV_H 455190f88SBenjamin Herrenschmidt 555190f88SBenjamin Herrenschmidt #ifdef CONFIG_SMP 655190f88SBenjamin Herrenschmidt extern void pnv_smp_init(void); 755190f88SBenjamin Herrenschmidt #else 855190f88SBenjamin Herrenschmidt static inline void pnv_smp_init(void) { } 955190f88SBenjamin Herrenschmidt #endif 1055190f88SBenjamin Herrenschmidt 11b746e3e0SNicholas Piggin extern void pnv_platform_error_reboot(struct pt_regs *regs, const char *msg) __noreturn; 12b746e3e0SNicholas Piggin 13cd15b048SBenjamin Herrenschmidt struct pci_dev; 14cd15b048SBenjamin Herrenschmidt 1561305a96SBenjamin Herrenschmidt #ifdef CONFIG_PCI 1661305a96SBenjamin Herrenschmidt extern void pnv_pci_init(void); 1773ed148aSBenjamin Herrenschmidt extern void pnv_pci_shutdown(void); 1861305a96SBenjamin Herrenschmidt #else 1961305a96SBenjamin Herrenschmidt static inline void pnv_pci_init(void) { } 2073ed148aSBenjamin Herrenschmidt static inline void pnv_pci_shutdown(void) { } 2161305a96SBenjamin Herrenschmidt #endif 2261305a96SBenjamin Herrenschmidt 238eb8ac89SShreyas B. Prabhu extern u32 pnv_get_supported_cpuidle_states(void); 248eb8ac89SShreyas B. Prabhu 253fafe9c2SBenjamin Herrenschmidt extern void pnv_lpc_init(void); 263fafe9c2SBenjamin Herrenschmidt 2756c0b48bSNicholas Piggin extern void opal_handle_events(void); 2856c0b48bSNicholas Piggin extern bool opal_have_pending_events(void); 299f0fd049SAlistair Popple extern void opal_event_shutdown(void); 309f0fd049SAlistair Popple 31e2186023SMichael Ellerman bool cpu_core_split_required(void); 32e2186023SMichael Ellerman 3355190f88SBenjamin Herrenschmidt #endif /* _POWERNV_H */ 34