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 
279f0fd049SAlistair Popple extern void opal_handle_events(uint64_t events);
289f0fd049SAlistair Popple extern void opal_event_shutdown(void);
299f0fd049SAlistair Popple 
30e2186023SMichael Ellerman bool cpu_core_split_required(void);
31e2186023SMichael Ellerman 
3255190f88SBenjamin Herrenschmidt #endif /* _POWERNV_H */
33