155190f88SBenjamin Herrenschmidt #ifndef _POWERNV_H
255190f88SBenjamin Herrenschmidt #define _POWERNV_H
355190f88SBenjamin Herrenschmidt 
455190f88SBenjamin Herrenschmidt #ifdef CONFIG_SMP
555190f88SBenjamin Herrenschmidt extern void pnv_smp_init(void);
655190f88SBenjamin Herrenschmidt #else
755190f88SBenjamin Herrenschmidt static inline void pnv_smp_init(void) { }
855190f88SBenjamin Herrenschmidt #endif
955190f88SBenjamin Herrenschmidt 
10cd15b048SBenjamin Herrenschmidt struct pci_dev;
11cd15b048SBenjamin Herrenschmidt 
1261305a96SBenjamin Herrenschmidt #ifdef CONFIG_PCI
1361305a96SBenjamin Herrenschmidt extern void pnv_pci_init(void);
1473ed148aSBenjamin Herrenschmidt extern void pnv_pci_shutdown(void);
15cd15b048SBenjamin Herrenschmidt extern int pnv_pci_dma_set_mask(struct pci_dev *pdev, u64 dma_mask);
16fe7e85c6SGavin Shan extern u64 pnv_pci_dma_get_required_mask(struct pci_dev *pdev);
1761305a96SBenjamin Herrenschmidt #else
1861305a96SBenjamin Herrenschmidt static inline void pnv_pci_init(void) { }
1973ed148aSBenjamin Herrenschmidt static inline void pnv_pci_shutdown(void) { }
20cd15b048SBenjamin Herrenschmidt 
21cd15b048SBenjamin Herrenschmidt static inline int pnv_pci_dma_set_mask(struct pci_dev *pdev, u64 dma_mask)
22cd15b048SBenjamin Herrenschmidt {
23cd15b048SBenjamin Herrenschmidt 	return -ENODEV;
24cd15b048SBenjamin Herrenschmidt }
25fe7e85c6SGavin Shan 
26fe7e85c6SGavin Shan static inline u64 pnv_pci_dma_get_required_mask(struct pci_dev *pdev)
27fe7e85c6SGavin Shan {
28fe7e85c6SGavin Shan 	return 0;
29fe7e85c6SGavin Shan }
3061305a96SBenjamin Herrenschmidt #endif
3161305a96SBenjamin Herrenschmidt 
328eb8ac89SShreyas B. Prabhu extern u32 pnv_get_supported_cpuidle_states(void);
338eb8ac89SShreyas B. Prabhu 
343fafe9c2SBenjamin Herrenschmidt extern void pnv_lpc_init(void);
353fafe9c2SBenjamin Herrenschmidt 
36e2186023SMichael Ellerman bool cpu_core_split_required(void);
37e2186023SMichael Ellerman 
3855190f88SBenjamin Herrenschmidt #endif /* _POWERNV_H */
39